matplotlib没有属性'pyplot'

han*_*ism 40 python matplotlib

我可以导入matplotlib,但是当我尝试运行以下代码时:

matplotlib.pyplot(x)
Run Code Online (Sandbox Code Playgroud)

我明白了:

Traceback (most recent call last):
   File "<pyshell#31>", line 1, in <module>
       matplotlib.pyplot(x)
AttributeError: 'module' object has no attribute 'pyplot'
Run Code Online (Sandbox Code Playgroud)

mgi*_*son 39

pyplot是一个子模块matplotlib,不会导入简单的子模块import matplotlib.

>>> import matplotlib
>>> print matplotlib.pyplot
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'pyplot'
>>> import matplotlib.pyplot
>>> 
Run Code Online (Sandbox Code Playgroud)

这似乎是习惯做法: import matplotlib.pyplot as plt此时你可以使用它包含的各种函数和类:

p = plt.plot(...)
Run Code Online (Sandbox Code Playgroud)


Tho*_*anz 27

你导入了吗?进口matplotlib还不够.

>>> import matplotlib
>>> matplotlib.pyplot
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'pyplot'
Run Code Online (Sandbox Code Playgroud)

>>> import matplotlib.pyplot
>>> matplotlib.pyplot
Run Code Online (Sandbox Code Playgroud)

作品.

pyplot是matplotlib的子模块,在导入matplotlib时不会立即导入.

最常见的导入pyplot的形式是

import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

因此,您的陈述不会太长,例如

plt.plot([1,2,3,4,5])
Run Code Online (Sandbox Code Playgroud)

代替

matplotlib.pyplot.plot([1,2,3,4,5])
Run Code Online (Sandbox Code Playgroud)

并且:pyplot不是功能,它是一个模块!所以,不要把它,使用定义的函数里面这个模块来代替.见上面的例子

  • 我对 pyplot 也有同样的问题。但“import matplotlib.pyplot as plt”对我来说仍然不起作用。我犯了同样的错误。 (2认同)