zoukankan      html  css  js  c++  java
  • 科学与可视化

    一.numpy库和matplotlib库的学习

      (1)numpy库介绍:科学计算包,支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换、随机数生成,并可与C++/Fortran语言无缝结合

          np.array([1,2,3])列表转换为数组;np.array((1,2,3))元组转换为数组; np.array(range(5))把range对象转换为数组;np.arange(8)类似于内置的range()函数

          np.linspace(0,10,11,endpoint = False)等差数组不包含终点

      (2)matplotlib库介绍:是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它为利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似--尽管并不怎么好用。SciPy就是用matplotlib进行图形绘制。

    二.两个库的结合使用实例

    一.numpy库和matplotlib库的学习

      (1)numpy库介绍:科学计算包,支持N维数组运算、处理大型矩阵、成熟的广播函数库、矢量运算、线性代数、傅里叶变换、随机数生成,并可与C++/Fortran语言无缝结合

          np.array([1,2,3])列表转换为数组;np.array((1,2,3))元组转换为数组; np.array(range(5))把range对象转换为数组;np.arange(8)类似于内置的range()函数

          np.linspace(0,10,11,endpoint = False)等差数组不包含终点

      (2)matplotlib库介绍:是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它为利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似--尽管并不怎么好用。SciPy就是用matplotlib进行图形绘制。

    二.两个库的结合使用实例

    matplotlib.rcParams['font.family']='SimHei' #设置默认字体
    matplotlib.rcParams['font.sans-serif']=['SimHei'] #设置默认字体
    labels = np.array(['第一周','第二周','第三周','第四周','第五周','第六周','第七周']) #
    nAttr = 7 #边数
    data = np.array([0,100,90,90,100,80,80]) #数据值
    angles = np.linspace(0,2*np.pi,nAttr,endpoint=False) #角度设置,0-2PI,分隔7次
    data = np.concatenate((data,[data[0]]))  #将数据和角度的数组首尾闭合,便于用plot函数绘制
    angles = np.concatenate((angles,[angles[0]]))
    fig = plt.figure(facecolor="pink")   #图形外的周边颜色
    plt.subplot(111,polar=True)    #建立极坐标系的子分区
    plt.plot(angles,data,'bo-',color='g',linewidth=2) #按照角度和数据画出不规则多边形
    plt.fill(angles,data,facecolor='g',alpha=0.25)  #填充颜色
    plt.thetagrids(angles*180/np.pi,labels)  #设置标签例如第X周
    plt.figtext(0.52,0.95,'罗润',ha='center') #设置标题
    plt.grid(True)
    plt.savefig('dota_radar.JPG')
    plt.show()
     
  • 相关阅读:
    java基础(8)---接口和lambda
    asp.net ashx处理程序中switch case的替代方案总结
    C# 委托(delegate)、泛型委托和Lambda表达式
    js判断浏览器是否安装或启用了flash的方法总结
    ASP.NET登录验证码解决方案
    C#读取匿名对象的属性值的方法总结
    C#中char[]与string之间的转换;byte[]与string之间的转化
    【Sublime】Sublime 常用插件
    js ajax设置和获取自定义header信息的方法总结
    .Net 通过设置Access-Control-Allow-Origin来实现跨域访问
  • 原文地址:https://www.cnblogs.com/luorunsb/p/10746979.html
Copyright © 2011-2022 走看看