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不是功能,它是一个模块!所以,不要把它,使用定义的函数里面这个模块来代替.见上面的例子