Je viens d'installer matplotlib et j'essaie d'exécuter l'un des scripts d'exemple là. Cependant, je tombe sur l'erreur détaillée ci-dessous. Qu'est-ce que je fais de mal ?
L'erreur est
Je viens d'installer matplotlib et j'essaie d'exécuter l'un des scripts d'exemple là. Cependant, je tombe sur l'erreur détaillée ci-dessous. Qu'est-ce que je fais de mal ?
L'erreur est
Tout d'abord, je pense que mplot3D travaillé un peu différemment dans matplotlib version 0.99 que dans la version actuelle de matplotlib.
Quelle version utilisez-vous? (Essayez de lancer: python -c 'import matplotlib; print matplotlib.__version__'
)
Je devine que vous êtes en cours d'exécution de la version 0.99, dans ce cas, vous aurez besoin d'utiliser une syntaxe légèrement différente ou mettre à jour vers une version plus récente de matplotlib.
Si vous utilisez la version 0.99, essayez de faire cela plutôt que de les utiliser à l'aide de l' projection
argument mot-clé:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d, Axes3D #<-- Note the capitalization!
fig = plt.figure()
ax = Axes3D(fig) #<-- Note the difference from your original code...
X, Y, Z = axes3d.get_test_data(0.05)
cset = ax.contour(X, Y, Z, 16, extend3d=True)
ax.clabel(cset, fontsize=9, inline=1)
plt.show()
Cela devrait fonctionner dans les matplotlib 1.0.x, ainsi, pas seulement 0.99.
Juste pour ajouter à Joe kingston portant réponse (pas assez de réputation pour un commentaire) il y a un bon exemple de mélange de 2d et de 3d parcelles dans la documentation à http://matplotlib.org/examples/mplot3d/mixed_subplots_demo.html ce qui montre la projection='3d' en combinaison avec les Axes3D d'importation.
from mpl_toolkits.mplot3d import Axes3D
...
ax = fig.add_subplot(2, 1, 1)
...
ax = fig.add_subplot(2, 1, 2, projection='3d')
En fait, aussi longtemps que le Axes3D d'importation est de présenter la ligne
from mpl_toolkits.mplot3d import Axes3D
...
ax = fig.gca(projection='3d')
tel qu'utilisé par les OP fonctionne également. (vérifié avec matplotlib version 1.3.1)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.