matplotlib——pyplot和pylab区别
想绘制函数图象,自然想到了python中强大的绘图库matplotlib。网上查询资料,说是matplotlib下的模块pyplot和pylab均可以,于是便产生疑问,这二者之间有何区别和联系?于是展开调查。
网上大部分的博客文章对这二者的解释基本千篇一律,也就是:
对Pyplot的解说:“方便快速绘图matplotlib通过pyplot模块提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部。”
对pylab的解说:“matplotlib还提供了一个名为pylab的模块,其中包括了许多NumPy和pyplot模块中常用的函数,方便用户快速进行计算和绘图,十分适合在IPython交互式环境中使用。”
最根本的方法,查看pylab的源码:
可以得知,和网上概括的一样,pylab包括了许多NumPy和pyplot模块中常用的函数。
那么,具体该如何使用呢?根据pyplot源码pyplot.py中的解释部分就可得知:
(pylab combines pyplot with numpy into a single namespace. This is convenient for interactive work, but for programming it is recommended that the namespaces be kept separate)意思就是说pylab结合了pyplot和numpy,对交互式使用来说比较方便,既可以画图又可以进行简单的计算。但是,对于一个项目来说,建议分别倒入使用,即:
import numpy as np
import matplotlib.pyplot as plt
而不是
import pylab as pl
附在使用matplotlib及相关模块时可能用得上的资料网址:
Matplotlib.pdf http://matplotlib.org/Matplotlib.pdf
Python科学计算 http://hyry.dip.jp/tech/book/page/scipy/matplotlib.html