博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python可视化编程--matplotlib
阅读量:653 次
发布时间:2019-03-14

本文共 2126 字,大约阅读时间需要 7 分钟。

1、matplotlib与pyqtgraph

matplotlib是一种常用的用于数据可视化的绘图库,它提供了一套和matlab相似的命令API,开发者可以仅需几行代码,便可生成如直方图,功率谱,条形图,错误图,散点图等图形,适用于交互式绘图,而且也可以方便地将它作为绘图控件嵌入到GUI应用程序中,并能够生成出版质量级别的图形,为程序开发者提供了便利。应该说,matplotlib库在静态图形的表现方面非常强大,但其缺点也比较明显,如在动态图形的绘制上,其刷新速度不尽人意。 

另一种功能强大的2D/3D绘图库——pyqtgraph,它是一种建立在PyQt4/PySide和numpy库基础之上的纯Python图形GUI库,在数学、科学和工程领域都有着广泛的应用。尽管该库完全用python编写,但内部由于使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架,因此,它在大数据量的数字处理和快速显示方面有着巨大的优势,它适合于需要快速绘图更新、视频或实时交互性的操作场合。另外,它不仅为各种数据提供了快速可交互式的图形显示,同时也提供了用于快速开发应用程序的各种小工具,如属性树、流程图等小部件。

2、环境配置

安装完Numpy,SciPy和MatplotLib后,可以成为非常犀利的科研利器。

下载:

 

安装Numpy

因为MatplotLib的使用需要以Numpy的支持,所以最好先装NumPy再装MatplotLib。

多python版本时,注意安装到那个python下,我的python默认的是python3.7.如果安装在python2.7下就用:pythno2 -m pip install numpy;

下图显示了两种安装方法:使用pip安装,或者下载whl文件安装;

安装结果:

检测:python  -m  pip list   查看安装list,可以找到安装的numpy 及版本;

         或者在python 命令中,输入import  numpy 没有报错;

安装MatplotLib 

使用pip安装:python -m pip matplotlib

遇到的问题:

升级后再使用pip重新安装;

查看安装库列表,会看到上图安装成功的库;

python命令中,输入:import matplotlib 不会报错

3、简单实例

import matplotlib.pyplot as plitsque = [1, 9, 9, 16, 25]plit.plot(sque)plit.show()

plit.plot(横坐标列表1,纵坐标列表1,横坐标列表2,纵坐标列表2....线宽)   几个纵坐标列表就可以画出几条线:

plit.plot([1, 25, 7], [5, 7, 4], [15, 18, 2],linewidth=1)   #两条线,第二条线没有横坐标,默认从x轴的起始点依次排列;

plit.plot([1, 2, 7], [5, 7, 4], [1, 4, 7], [5, 18, 2],color='lightblue', linewidth=5);结果如上图

例如;

plit.plot([1, 25, 7], [5, 7, 4], [15, 18, 2], linewidth=5)plit.title('first', fontsize=24)//设置字体plit.xlabel('xxx', fontsize=24)plit.ylabel('yyy')plit.tick_params(axis='both', labelsize=14)  //设置刻度plit.show()

画正弦余弦:import matplotlib.pyplot as plit

import numpy as np

x = np.arange(-1 * np.pi, 1 * np.pi,0.01)y = np.cos(x)y1=np.sin(x)plit.plot(x, y,x,y1)plit.title("function y=cos(x)", fontsize=24)plit.xlabel("xx")plit.ylabel("yy")plit.show()

ax=plit.gca()  #获取Axes对象ax.spines['right'].set_color('none')    #隐藏右边界ax.spines['top'].set_color('none')      #隐藏上边界ax.xaxis.set_ticks_position('bottom')   #x轴坐标刻度设置在坐标轴下面ax.spines['bottom'].set_position(('data',0))  #x轴坐标轴平移至经过零点(0,0)位置ax.yaxis.set_ticks_position('left')           #y轴坐标刻度设置在坐标轴下面ax.spines['left'].set_position(('data',0))    #y轴坐标轴平移至经过零点(0,0)位置plit.show()

学习:

转载地址:http://azvoz.baihongyu.com/

你可能感兴趣的文章