matplotlib n'a pas d'attribut "pyplot'

je peux importer matplotlib mais quand j'essaie d'exécuter ce qui suit:

matplotlib.pyplot(x)

j'obtiens:

Traceback (most recent call last):
   File "<pyshell#31>", line 1, in <module>
       matplotlib.pyplot(x)
AttributeError: 'module' object has no attribute 'pyplot'
24
demandé sur hanachronism 2013-02-11 16:52:22

2 réponses

pyplot est un sous-module de matplotlib qui ne se fait pas importer avec un simple 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
>>> 

Il semble coutume de faire: import matplotlib.pyplot as plt vous pouvez alors utiliser les différentes fonctions et classes qu'il contient:

p = plt.plot(...)
27
répondu mgilson 2013-02-11 12:55:13

l'avez-vous importé? Importer matplotlib n'est pas assez.

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

mais

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

fonctionne.

pyplot est un sous-module de matplotlib et n'est pas importé immédiatement lorsque vous importez matplotlib.

la forme la plus courante d'importation de pyplot est

import matplotlib.pyplot as plt

ainsi, vos déclarations ne seront pas trop longues, par exemple

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

au lieu de

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

Et: pyplot n'est pas une fonction, c'est un module de! Donc, ne pas appel, utilisez les fonctions définies à l' à l'intérieur ce module à la place. Voir mon exemple ci-dessus

16
répondu Thorsten Kranz 2016-10-29 14:41:43