matplotlib是一种常用的用于数据可视化的绘图库,它提供了一套和matlab相似的命令API,开发者可以仅需几行代码,便可生成如直方图,功率谱,条形图,错误图,散点图等图形,适用于交互式绘图,而且也可以方便地将它作为绘图控件嵌入到GUI应用程序中,并能够生成出版质量级别的图形,为程序开发者提供了便利。应该说,matplotlib库在静态图形的表现方面非常强大,但其缺点也比较明显,如在动态图形的绘制上,其刷新速度不尽人意。
另一种功能强大的2D/3D绘图库——pyqtgraph,它是一种建立在PyQt4/PySide和numpy库基础之上的纯Python图形GUI库,在数学、科学和工程领域都有着广泛的应用。尽管该库完全用python编写,但内部由于使用了高速计算的numpy信号处理库以及Qt的GraphicsView框架,因此,它在大数据量的数字处理和快速显示方面有着巨大的优势,它适合于需要快速绘图更新、视频或实时交互性的操作场合。另外,它不仅为各种数据提供了快速可交互式的图形显示,同时也提供了用于快速开发应用程序的各种小工具,如属性树、流程图等小部件。
Python安装完Numpy,SciPy和MatplotLib后,可以成为非常犀利的科研利器。
下载:https://pypi.org/project/matplotlib/#files
https://pypi.org/project/numpy/#files
安装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 不会报错
import matplotlib.pyplot as plit
sque = [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()
学习:https://blog.csdn.net/MESSI_JAMES/article/details/80819144