Python numpy、scipy、matplotlib和pylab之间的混淆
Numpy、scipy、matplotlib和pylab是使用python进行科学计算的人常用的术语 我刚刚了解了一点派拉布,我感到困惑。 每当我想导入numpy时,我都可以:Python numpy、scipy、matplotlib和pylab之间的混淆,python,numpy,matplotlib,scipy,Python,Numpy,Matplotlib,Scipy,Numpy、scipy、matplotlib和pylab是使用python进行科学计算的人常用的术语 我刚刚了解了一点派拉布,我感到困惑。 每当我想导入numpy时,我都可以: import numpy as np 我只是想,一旦我做了< /P> from pylab import * numpy也将被导入(使用npalias)。所以基本上第二个比第一个做得更多 有几件事我想问: pylab只是numpy、scipy和matplotlib的包装器,对吗 由于np是pylab中的numpy别名
import numpy as np
我只是想,一旦我做了< /P>
from pylab import *
numpy也将被导入(使用np
alias)。所以基本上第二个比第一个做得更多
有几件事我想问:
pylab
是matplotlib
(在matplotlib.pylab
中)的一部分,并尝试为您提供类似MatLab的环境matplotlib
有许多依赖项,其中numpy
是在通用别名np
下导入的scipy
不是matplotlib
的依赖项ipython--pylab
自动导入将把matplotlib.pylab
中的所有符号放入全局范围。就像你写的那样,numpy
在np
别名下导入。matplotlib
中的符号可在mpl
别名下使用Scipy和numpy是科学项目,其目的是为python带来高效、快速的数值计算 Matplotlib是python绘图库的名称 Pyplot是matplotlib的交互式api,主要用于像jupyter这样的笔记本电脑。您通常是这样使用它的:
将matplotlib.pyplot导入为plt
Pylab与pyplot相同,但具有额外的功能(目前不鼓励使用它)
- pylab=pyplot+numpy
pylab
的示例,因此一些人(如我)可能仍然对pylab的用法感到困惑,以下是官方matplotlib常见问题解答中的一段话:
pylab是一个方便的模块,它在单个名称空间中批量导入matplotlib.pyplot(用于打印)和numpy(用于数学和处理数组)。尽管许多示例使用pylab,但不再推荐它
因此,TL;博士就是不要用pylab,句号。根据需要分别使用pyplot
和导入numpy
为进一步阅读和其他有用的例子 一般来说,我会避免在交互式shell之外使用pylab(和*imports)。Pylab是matplotlib的一个奇怪的附录。@unutbu:谢谢你的链接,这让事情变得清楚了。我认为这也意味着scipy是一个完全不同的模块,因此与其他模块无关pylab@goFrendiAsgard:您可以通过查看
/usr/lib/pymodules/python2.7/matplotlib/pylab.py
(Windows或OSX的确切路径略有不同;如果需要帮助,请询问查找该路径)。谢谢,这就是我要找的。我想我会使用更“pythonic”的方式,因为pylab只是一个包装器,适合那些习惯matlab的人。@Benjamin Bannier这是什么?这让我很困惑。@shahensha,听起来好像有两个Pylab;根据您发送的链接:“…此页面上表示的新PyLab的愿景与matplotlib中现有PyLab包之间的差异”Matplotlib、pyplot和pylab:它们之间有什么关系Matplotlib
是整个包matplotlib.pyplot
是matplotlib中的一个模块;而pylab
是一个与matplotlib一起安装的模块。“最近打开的pylab,很快就被我看到的吓了一跳。这是怎么被认为是正常的?是的,谁知道呢。