我可以导入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'
答案 0 :(得分:33)
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
>>>
习惯做: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
不是函数,它是一个模块!所以不要调用它,而是使用在这个模块中定义的函数。请参阅上面的示例