问题:numpy,scipy,matplotlib和pylab之间的混淆
Numpy,scipy,matplotlib和pylab是使用python进行科学计算的常用术语。
我只是学习了一些有关pylab的知识,而感到困惑。每当我要导入numpy时,我都可以执行以下操作:
import numpy as np
我只是认为,一旦我这样做
from pylab import *
numpy也将被导入(使用np别名)。所以基本上,第二个相比第一个做更多的事情。
我想问的几件事:
- pylab仅仅是numpy,scipy和matplotlib的包装吗?
- 由于NP是pylab中的numpy别名,因此pylab中的scipy和matplotlib别名是什么?(据我所知,plt是matplotlib.pyplot的别名,但我不知道matplotlib本身的别名)
回答 0
没有,
pylab是的一部分matplotlib(在matplotlib.pylab),并试图给你喜欢的环境Matlab的。matplotlib有许多依赖项,其中有一些依赖项numpy以通用别名导入np。scipy不是的依赖项matplotlib。如果运行
ipython --pylab自动导入,则会将所有符号从中matplotlib.pylab放入全局范围。就像您写的一样numpy,在np别名下导入。别名matplotlib下的符号来自mpl。
回答 1
Scipy和numpy是科学项目,旨在为python带来高效,快速的数值计算。
Matplotlib是python绘图库的名称。
Pyplot是matplotlib的交互式api,主要用于jupyter之类的笔记本中。您通常会这样使用它:import matplotlib.pyplot as plt。
Pylab与pyplot相同,但是具有额外的功能(目前不鼓励使用)。
- pylab = pyplot + numpy的
在此处查看更多信息:Matplotlib,Pylab,Pyplot等:这些和何时使用它们有什么区别?
回答 2
由于某些示例(例如我)可能仍然对pylab的使用感到困惑,因为pylab互联网上存在使用示例的示例,因此这里引用了官方matplotlib常见问题解答:
pylab是一个便捷模块,可在单个命名空间中批量导入matplotlib.pyplot(用于绘图)和numpy(用于数学以及使用数组)。尽管许多示例都使用pylab,但不再建议使用。
因此,TL; DR; 是不使用pylab,句点。根据需要分别使用pyplot和导入numpy。
