为什么matplotlib没有属性“ pylab”?

| 我这样输入imported0ѭ:
import matplotlib as mpl
当我运行以下代码时,抛出一个错误,提示“模块”对象没有属性“ pylab”:
x = np.arange(0,10,0.01)   # import numpy as np
y = np.sin(x)
mpl.pylab.plot(x,y)
mpl.pylab.show()
当我以另一种方式导入“ 0”时,没有出现错误:
import matplotlib.pylab as pl
有谁知道发生了什么事吗?     
已邀请:
默认情况下,并不总是导入子模块。您可以导入
pylab
import matplotlib as mpl
import matplotlib.pylab  # Loads the pylab submodule as well
# mpl.pylab is now defined
这就是为什么
import matplotlib.pylab as pl
为您解决问题的原因。 默认情况下,不导入子模块会带来更快的加载时间。它还不会使用未使用的子模块名称来污染主模块名称空间。模块的创建者可以定义默认情况下要加载的子模块(由于
pylab
非常重,因此默认情况下
matplotlib
不会将其导入)。     
要以非交互方式进行绘图,应使用模块“ 10”,而不是模块“ 5”。
from matplotlib import pyplot
import numpy

pyplot.plot(range(1,100), numpy.sin(range(1,100)))
pyplot.show()
pylab
模块通常不用作matplotlib的子模块,而是用作顶层模块。通常,它以交互方式使用,以将numpy,scipy和matplotlib的多个部分组合到一个命名空间中。
>>> from pylab import *
>>> plot(range(1,100), sin(range(1,100)))
>>> show()
    
如果您要导入的模块没有
__init__.py
文件,通常会出现此错误。我的安装过程中也出现此错误。我认为您只需要接受必须独立于matplotlib导入matplotlib.pylab。     

要回复问题请先登录注册