matplotlib.pyplot和matplotlib.pylab有什么区别?
在何种情况下使用哪个更好?
我有点困惑,因为似乎无论我导入哪个,都可以做同样的事情。我错过了什么吗?
matplotlib.pyplot和matplotlib.pylab有什么区别?
在何种情况下使用哪个更好?
我有点困惑,因为似乎无论我导入哪个,都可以做同样的事情。我错过了什么吗?
pylab
导入,建议大多数非交互式用法使用OO接口。
根据documentation,我强调:
Matplotlib是一个完整的包,pylab是matplotlib中的一个模块,与matplotlib一起安装;而matplotlib.pyplot则是matplotlib中的另一个模块。 Pyplot为底层绘图库提供了状态机接口。这意味着会隐式和自动地创建图形和坐标轴以实现所需的绘图。例如,从pyplot调用plot将自动创建必要的图形和坐标轴以实现所需的绘图。然后,设置标题将自动将该标题设置为当前坐标轴对象: Pylab将pyplot功能(用于绘图)与numpy功能(用于数学和数组处理)结合在一个命名空间中,使该命名空间(或环境)更加类似于MATLAB。例如,可以像在MATLAB中一样调用sin和cos函数,并拥有pyplot的所有功能。 通常推荐使用pyplot接口进行非交互式绘图(即脚本化)。对于交互式计算和绘图,pylab接口非常方便,因为它减少了输入量。请注意,如果使用带有-pylab选项的ipython shell,则会得到这个结果,它会从pylab导入所有内容,并使绘图变得完全交互式。plt.figure()
和 plt.plot(x,y)
等函数,而是创建一个 Figure 对象,向其中添加 Axes 对象,再向 Axes 对象添加绘图。这种接口是面向对象的,因为你(作为开发人员)需要引用 Figure 或 Axes 对象,而不是引用 plt.*
并让 pyplot 猜测你正在引用哪个图形。 - zeehio
pylab
,根据官方文档。请参见此答案。 - Trenton McKinney