官方文档:Matplotlib,pyplot和pylab:它们之间有什么关系?
这两个导入都可以做完全相同的事情,并且将运行完全相同的代码,这只是导入模块的不同方式。
还要注意,它matplotlib有两个接口层,一个由其管理的状态机层,一个pyplotOO接口pyplot构建在该接口层之上,请参阅如何将pyplot函数附加到图形实例?
pylab这是将大量有用的函数(pyplot状态机函数,大部分numpy)批量导入单个名称空间的一种干净方法。存在的主要原因(据我了解)是与之ipython合作的一个非常好的交互式shell,它或多或少地复制了MATLAB(从而使转换更容易并且因为它很适合玩耍)。看到
pylab.py和
matplotlib/pylab.py
在某种程度上,这纯粹是个人品味的问题,并取决于您在做什么。
如果您不嵌入gui(使用非交互式后端处理批量脚本或使用提供的交互式后端之一),通常要做的是
import matplotlib.pyplot as pltimport numpy as npplt.plot(....)
不会污染名称空间。我更喜欢这样做,这样我就可以跟踪东西的来源。
如果您使用
ipython --pylab
这相当于跑步
from pylab import *
现在建议ipython您为新版本使用
ipython --matplotlib
这将设置所有适当的背景详细信息,以使交互式后端正常工作,但不会批量导入任何内容。您将需要显式导入想要的模块。
import numpy as npimport matplotlib.pyplot as plt
是一个好的开始。
如果您要嵌入matplotlibgui,则不要导入pyplot,因为那样会启动额外的gui主循环,确切的导入内容取决于您正在执行的 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)