[Python] axe limite du graphe 3D avec Matplotlib

Lors de la création d'un graphique 3D avec Matplotlib, je souhaite définir la taille des axes du graphique et unifier le rapport des axes, mais une fonction comme plt.axes (). Set_aspect ('equal') est un tracé 3D. N'existe pas dans, alors comment le résoudre. (Utile pour les tracés orbitaux, etc.)

Par exemple, à propos de ce tracé

# plot in 3D of candidate branches
fig = plt.figure(figsize=(12,10))
plt.rcParams["font.size"] = 20
ax = fig.gca(projection='3d')
# mass
ax.plot_wireframe(xperilune_m2, yperilune_m2, zperilune_m2, color="k", label='m2', alpha=0.1)
# LPO trajectory
ax.plot(dynmatLPO["x_arr"]*Lstar, dynmatLPO["y_arr"]*Lstar, dynmatLPO["z_arr"]*Lstar, c='m', linewidth='1.5', label='Halo')

Supposons que vous souhaitiez solidifier la taille de l'arbre. Si vous souhaitez arrêter l'axe $ x $ de 320000 $ à 470000 $, l'axe $ y $ de -60000 $ à 60000 $ et l'axe $ z $ de -1000 $ à 1000 $, ont la plus grande plage de ces valeurs. La plage est calculée comme `` max = plage '', et la boîte est créée sur cette base.

# set array for max/min boxing
X = np.array([320000, 470000])
Y = np.array( [-60000, 60000])
Z = np.array([-1000, 1000])
# compute max required range
max_range = np.array([X.max()-X.min(), Y.max()-Y.min(), Z.max()-Z.min()]).max() / 2.0
# setup axis
mid_x = (X.max()+X.min()) * 0.5
mid_y = (Y.max()+Y.min()) * 0.5
mid_z = (Z.max()+Z.min()) * 0.5
ax.set_xlim(mid_x - max_range, mid_x + max_range)
ax.set_ylim(mid_y - max_range, mid_y + max_range)
ax.set_zlim(mid_z - max_range, mid_z + max_range)

ax.grid()
plt.title(f'Targeting from {num_branch} manifolds')
ax.legend(loc='best')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
plt.show()

référence: https://matplotlib.org/3.2.1/api/_as_gen/mpl_toolkits.mplot3d.axes3d.Axes3D.html https://stackoverflow.com/questions/30196503/2d-plots-are-not-sitting-flush-against-3d-axis-walls-in-python-mplot3d/41779162#41779162

Recommended Posts

[Python] axe limite du graphe 3D avec Matplotlib
[Python] Définissez la plage du graphique avec matplotlib
Dessinez une surface plane avec un graphique 3D matplotlib
Graphique 2 axes avec Matplotlib
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
Augmentez la taille de la police du graphique avec matplotlib
Résolvez A ~ D du codeur yuki 247 avec python
Carte thermique par Python + matplotlib
Graphique de bande avec matplotlib
La base de la théorie des graphes avec l'animation matplotlib
Graphique 3D avec matplotlib
Créer un diagramme de dispersion 3D avec SciPy + matplotlib (Python)
Installation de matplotlib (Python 3.3.2)
[Python] Comment dessiner un graphique linéaire avec Matplotlib
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Graphique des données Excel avec matplotlib (1)
Créer un gif 3D avec python3
Méthode de dessin graphique avec matplotlib
python> Gestion des tableaux 2D
Graphique des données Excel avec matplotlib (2)
Tracé interactif du graphique 3D
Étudier les mathématiques avec Python: dessiner un graphe sympy (scipy) avec matplotlib
Acquisition d'un groupe de points 3D avec Pepper de Softbank (Choregraphe, Python)
Effectuer une analyse isocurrent des canaux en eau libre avec Python et matplotlib
Créer une animation de tracé avec Python + Matplotlib
Manuel de graphisme Python avec Matplotlib.
Installer SciPy et matplotlib (Python)
Analyse de la structure du squelette en trois dimensions avec Python
Résoudre ABC166 A ~ D avec Python
Dessinez un graphique lâche avec matplotlib
Premiers pas avec Python Bases de Python
Jeu de vie avec Python! (Le jeu de la vie de Conway)
10 fonctions du "langage avec batterie" python
Installation de Python, SciPy, matplotlib (Windows)
Heatmap avec dendrogramme en Python + matplotlib
Faisons un graphe avec python! !!
Implémentation de la méthode Dyxtra par python
Dessinez Riapnov Fractal avec Python, matplotlib
Quand matplotlib ne fonctionne pas avec python2.7
Coexistence de Python2 et 3 avec CircleCI (1.0)
Effectuer un tracé de probabilité normale logarithmique avec Python, matplotlib
Segmentation basée sur un graphique avec Python + OpenCV
Etude de base d'OpenCV avec Python
[Python] [3D line graph] Plusieurs données dans un graphique, valeurs d'axe en caractères
[Statistiques] Saisir l'image de la théorie de la limitation du pôle central avec un graphe
Bases du traitement d'images binarisées par Python
[Exemple d'amélioration de Python] Apprentissage de Python avec Codecademy
Calculer l'itinéraire le plus court d'un graphe avec la méthode Dyxtra et Python
Exécuter le script Python avec TS-220 cron
Vérifier l'existence du fichier avec python
Programme d'analyse des contraintes FEM 2D par Python
Obstrué par la mise à jour Python de la console GCP ①
Introduction facile de la reconnaissance vocale avec Python
Exemple d'analyse de squelette tridimensionnelle par Python
Dessinez une étiquette d'axe hiérarchique avec matplotlib + pandas
[Python] Rendons matplotlib compatible avec le japonais
UnicodeEncodeError lutte avec la sortie standard de python3