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'
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(...)
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