Python : Comment tracer les graphiques en 3d à l'aide de Python?
Je suis à l'aide de matplotlib pour ce faire
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = Axes3D(fig)
x = [6,3,6,9,12,24]
y = [3,5,78,12,23,56]
ax.plot(x, y, zs=0, zdir='z', label='zs=0, zdir=z')
plt.show()
Maintenant, cela génère un graphique qui est à l'horizontale dans l'espace 3d. Comment puis-je rendre le graphique verticale de sorte qu'il fait face à l'utilisateur?
Ce que je veux faire, c'est créer de multiples verticales graphiques qui sont séparés par une certaine distance et sont orientées vers l'utilisateur.
- Venez y pense, n'est-ce pas un peu idiot d'utiliser les graphiques en 3D pour le tracé de données en 2D?
- Je suis en faisant varier un paramètre particulier alpha(pas de x et y) et l'observation du changement dans le graphique pour les différentes valeurs de l'alpha
Vous devez vous connecter pour publier un commentaire.
bp réponse peut bien fonctionner, mais il y a un moyen beaucoup plus simple.
Votre graphique est "à plat" sur l'axe z, qui est pourquoi il est à l'horizontale. Vous voulez qu'il soit à la verticale, ce qui signifie que vous voulez qu'il soit "à plat" sur l'axe des ordonnées. Cela implique la moindre modification de votre code:
Alors vous pouvez facilement avoir plusieurs de ces graphiques en utilisant des valeurs différentes pour les ys paramètre (par exemple,
ys=[2]*len(x)
plutôt de mettre le graphique légèrement derrière).Mayavi, en particulier la mlab module, dispose d'un puissant 3D tracé qui permettra de travailler sur de grands et complexes ou de données, et devrait être facile à utiliser sur les tableaux numpy.
Vous pouvez régler l'angle de vue de la 3d parcelle avec la view_init() fonction. L'exemple ci-dessous est pour la version 1.1 de matplotlib.
Selon la documentation que vous souhaitez utiliser le
ax.plot_surface(x,y,z)
méthode. Plus d'informations et de types de graphiques ici.La suivante devrait fonctionner: