matplotlib没有属性'pyplot'

时间:2013-02-11 12:52:22

标签: python matplotlib

我可以导入matplotlib但是当我尝试运行以下内容时:

matplotlib.pyplot(x)

我明白了:

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

2 个答案:

答案 0 :(得分:33)

pyplotmatplotlib的子模块,不会使用简单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
>>> 

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

p = plt.plot(...)

答案 1 :(得分:24)

你导入了吗?导入matplotlib是不够的。

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

但是

>>> import matplotlib.pyplot
>>> matplotlib.pyplot

作品。

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

最常见的导入pyplot的形式是

import matplotlib.pyplot as plt

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

plt.plot([1,2,3,4,5])

而不是

matplotlib.pyplot.plot([1,2,3,4,5])

并且:pyplot不是函数,它是一个模块!所以不要调用它,而是使用这个模块中定义的函数。请参阅上面的示例