Подтвердить что ты не робот

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'
4b9b3361

Ответ 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 не является функцией, это модуль! Поэтому не называйте это, используйте вместо этого функции внутри. См. Мой пример выше