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本身的别名)
-
不,
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的交互,主要用于像jupyter笔记本电脑。 你通常像这样使用它: import matplotlib.pyplot as plt
。
Pylab和pyplot是一样的,但有额外的function(目前不鼓励使用它)。
- 粗略地说, pylab = pyplot + numpy
在这里看到更多的信息: Matplotlib,Pylab,Pyplot等:这些和什么时候使用每个有什么区别?