Python numpy、scipy、matplotlib和pylab之间的混淆

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别名

Numpy、scipy、matplotlib和pylab是使用python进行科学计算的人常用的术语

我刚刚了解了一点派拉布,我感到困惑。 每当我想导入numpy时,我都可以:

import numpy as np
我只是想,一旦我做了< /P>
from pylab import *
numpy也将被导入(使用
np
alias)。所以基本上第二个比第一个做得更多

有几件事我想问:

  • 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的交互式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,很快就被我看到的吓了一跳。这是怎么被认为是正常的?是的,谁知道呢。