Matplotlib не имеет атрибута 'pyplot'
Я могу импортировать 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'
Ответы
Ответ 1
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(...)
Ответ 2
Вы импортировали его? Импортировать 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
не является функцией, это модуль! Поэтому не называйте это, используйте вместо этого функции внутри. См. Мой пример выше