我看到,我可以积在 Python的使用既:这是推荐的绘图方式:matplotlib或pylab?
import matplotlib
matplotlib.pyplot.plot(...)
或者:
import pylab
pylab.plot(...)
这两个使用相同的matplotlib绘图代码。
那么,Python社区推荐哪一种作为更好的绘图方法呢?为什么?
我看到,我可以积在 Python的使用既:这是推荐的绘图方式:matplotlib或pylab?
import matplotlib
matplotlib.pyplot.plot(...)
或者:
import pylab
pylab.plot(...)
这两个使用相同的matplotlib绘图代码。
那么,Python社区推荐哪一种作为更好的绘图方法呢?为什么?
官方文档:Matplotlib, pyplot and pylab: how are they related?
这两项进口归结都做同样的事情,将运行完全相同的代码,它只是不同的导入模块的方式。
还要注意的是matplotlib
有两个界面层,由pyplot
管理的状态机层和OO接口pyplot
是建立在顶部,看到How can I attach a pyplot function to a figure instance?
pylab
是一个干净的方式批量导入整体转换的有用的功能(pyplot
状态机功能,大部分为numpy
)整合到一个名称空间中。这个存在的主要原因(根据我的理解)是使用ipython
来制作一个非常漂亮的交互式shell,它或多或少地复制了MATLAB(使转换更容易,因为它适合玩耍)。见pylab.py
和matplotlib/pylab.py
在一定程度上,这是纯粹的口味的问题,并取决于你在做什么了一下。
如果不嵌入在GUI(使用非交互的后台批量脚本或使用所提供的交互式后端之一)典型的事情是
import matplotlib.pyplot as plt
import numpy as np
plt.plot(....)
它没有按” t污染名字空间。我更喜欢这个,所以我可以跟踪东西来自哪里。
如果使用
ipython --pylab
这相当于跑步
from pylab import *
它现在建议为ipython
新版本使用
ipython --matplotlib
这将设置所有正确的背景细节使交互式后端能够很好地工作吨不会批量导入任何东西。您需要明确导入所需的模块。
import numpy as np
import matplotlib.pyplot as plt
是一个好的开始。
如果你在GUI中嵌入matplotlib
你不想导入pyplot,因为这会启动额外的gui主循环,而你应该导入的内容取决于你正在做什么。
pylab和pyplot的区别在于前者将numpy导入到它的命名空间中。这是为了使它与matlab更加类似。现在使用pyplot代替pylab是因为它更清洁。 – ianalis
[pylab和pyplot之间有什么区别?]可能的重复(http://stackoverflow.com/questions/11469336/what-is-the-difference-between-pylab-and-pyplot) – tacaswell
自引用重复? –