推荐的方式是:matplotlib或pylab?

我发现我可以用Python绘制

import matplotlib matplotlib.pyplot.plot(...) 

要么:

 import pylab pylab.plot(...) 

这两个使用相同的matplotlib绘图代码。

那么,Python社区推荐哪一种作为更好的绘图方法呢? 为什么?

官方文档: http : //matplotlib.org/faq/usage_faq.html#matplotlib-pylab-and-pyplot-how-are-they-related

这两个导入都是做完全相同的事情,并且运行完全相同的代码,这只是导入模块的不同方式。

另请注意, matplotlib有两个接口层,一个由pyplotpipe理的状态机层,OO接口pyplot构build在顶层,请参阅如何将pyplot函数附加到graphics实例?

pylab是一个干净的方式来批量导入整个有用的function( pyplot状态机function,大部分numpy )到一个单一的名称空间。 这个存在的主要原因是(根据我的理解)是使用ipython来制作一个非常漂亮的交互式shell,它或多或less地复制了MATLAB(使转换更容易,因为它适合玩游戏)。 请参阅pylab.pymatplotlib/pylab.py

在某种程度上,这纯粹是一种品味的问题,并且取决于你在做什么。

如果您没有embedded到gui中(使用批量脚本的非交互式后端或使用提供的交互式后端之一),典型的做法是

 import matplotlib.pyplot as plt import numpy as np plt.plot(....) 

不污染名字空间。 我更喜欢这样,所以我可以跟踪东西来自哪里。

如果你使用

 ipython --pylab 

这相当于跑步

 from pylab import * 

现在推荐你使用新版本的ipython

 ipython --matplotlib 

这将设置所有适当的背景细节,使交互式后端工作正常,但不会批量导入任何东西。 您将需要显式导入所需的模块。

 import numpy as np import matplotlib.pyplot as plt 

是一个好的开始。

如果你在一个gui中embeddedmatplotlib ,你不想导入pyplot,因为这会启动额外的gui主循环,而你应该导入的东西取决于你正在做什么。