来自<Python成为专业人士笔记系列>
python成为专业人士笔记biblog.bistudio.com.cnMatplotlib介绍
matplotlib是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+,向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似–尽管并不怎么好用。SciPy就是用matplotlib进行图形绘制。
matplotlib最初由John D. Hunter撰写,它拥有一个活跃的开发社区,并且根据BSD样式许可证分发。 在John D. Hunter2012年去世前不久,Michael Droettboom被提名为matplotlib的主要开发者。
截至到2015年10月30日,matplotlib 1.5.x支持Python 2.7到3.5版本。Matplotlib 1.2是第一个支持Python 3.x的版本。Matplotlib 1.4是支持Python 2.6的最后一个版本。
与MATLAB的比较
pyplot是matplotlib的一个模块,它提供了一个类似MATLAB的接口。 matplotlib被设计得用起来像MATLAB,具有使用Python的能力。免费是其优点。
与 Gnuplot的比较
gnuplot和matplotlib都是成熟的开源项目。 它们都可以产生多种不同绘图类型。 虽然很难指定一种某人能做而他人不能做的图形类型,但它们仍然具有不同的优点和缺点:
优点缺点Matplotlib带有内置代码的默认绘图样式与Python的深度集成Matlab风格的编程接口(对一些人来说是优点,但对于其他人来说可能是缺点)。图形绘制相较Gnuplot更加美观高度依赖其他包,如Numpy。只适用于Python:很难/不可能在Python以外的语言中使用。 (但可以从Julia通过PyPlot软件包使用)Gnuplot跨语言解决方案:可以用作通过管道或文件以不同语言编写的应用程序(例如GNU Octave,Maxima,JavaGnuplotHybrid)中的绘图引擎。独立程序:没有外部依赖。处理大型数据集时非常快。更容易操纵绘图细节旧的默认绘图样式:通常需要小的调整以产生有吸引力的图。在开发中活跃成员的数量较少(与Matplotlib相比)。
例子[可使用创帆云免费JupyterNote环境测试]
曲线图
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> a = np.linspace(0,10,100)
>>> b = np.exp(-a)
>>> plt.plot(a,b)
>>> plt.show()
直方图
&g