[Python] Grenzachse des 3D-Graphen mit Matplotlib

Wenn ich mit Matplotlib ein 3D-Diagramm erstelle, möchte ich die Größe der Achsen des Diagramms festlegen und das Verhältnis der Achsen vereinheitlichen, aber eine Funktion wie `plt.axes (). Set_aspect ('gleich')` ist ein 3D-Diagramm. Existiert nicht in, also wie man es löst. (Nützlich für Orbitalplots usw.)

Zum Beispiel über diese Handlung

# 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')

Angenommen, Sie möchten die Größe der Welle verfestigen. Wenn Sie die $ x $ -Achse von $ 320000 $ bis $ 470000 $ stoppen möchten, haben die $ y $ -Achse von $ -60000 $ bis $ 60000 $ und die $ z $ -Achse von $ -1000 $ bis $ 1000 $ den größten Bereich davon. Der Bereich wird als `` `max = range``` berechnet und die Box wird darauf basierend erstellt.

# 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()

Referenz: 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] Grenzachse des 3D-Graphen mit Matplotlib
[Python] Legen Sie den Diagrammbereich mit matplotlib fest
Zeichnen Sie eine flache Oberfläche mit einem Matplotlib-3D-Diagramm
2-Achsen-Plot mit Matplotlib
Lesen Sie Python-CSV-Daten mit Pandas ⇒ Graph mit Matplotlib
Erhöhen Sie die Schriftgröße des Diagramms mit matplotlib
Löse A ~ D des Yuki-Codierers 247 mit Python
Heatmap von Python + matplotlib
Banddiagramm mit Matplotlib
Die Basis der Graphentheorie mit Matplotlib-Animation
3D-Plot mit Matplotlib
Erstellen Sie ein 3D-Streudiagramm mit SciPy + matplotlib (Python)
Installation von matplotlib (Python 3.3.2)
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
Zeichnen Sie Excel-Daten mit matplotlib (1)
Erstellen Sie ein 3D-GIF mit Python3
Diagrammzeichnungsmethode mit matplotlib
Python> Umgang mit 2D-Arrays
Zeichnen Sie Excel-Daten mit matplotlib (2)
Interaktives Diagramm eines 3D-Diagramms
Mathematik mit Python studieren: Zeichnen Sie mit matplotlib ein Sympy-Diagramm (Scipy-Diagramm)
Erfassung der 3D-Punktgruppe mit Pepper of Softbank (Choregraphe, Python)
Führen Sie mit Python und Matplotlib eine Isostromanalyse offener Wasserkanäle durch
Erstellen Sie eine Plotanimation mit Python + Matplotlib
Python-Grafikhandbuch mit Matplotlib.
Installation von SciPy und matplotlib (Python)
Dreidimensionale Skelettstrukturanalyse mit Python
Löse ABC166 A ~ D mit Python
Zeichnen Sie mit matplotlib ein loses Diagramm
Erste Schritte mit Python Grundlagen von Python
Lebensspiel mit Python! (Conways Spiel des Lebens)
10 Funktionen von "Sprache mit Batterie" Python
Installation von Python, SciPy, matplotlib (Windows)
Heatmap mit Dendrogramm in Python + Matplotlib
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Implementierung der Dyxtra-Methode durch Python
Zeichne Riapnov Fractal mit Python, matplotlib
Wenn matplotlib nicht mit python2.7 funktioniert
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Führen Sie mit Python, matplotlib, einen logarithmischen Normalwahrscheinlichkeitsplot durch
Graphbasierte Segmentierung mit Python + OpenCV
Grundlegendes Studium von OpenCV mit Python
[Python] [3D-Liniendiagramm] Mehrere Daten in einem Diagramm, Achsenwerte in Zeichen
[Statistik] Erfassen Sie das Bild der zentralen Polbegrenzungstheorie mit einem Diagramm
Grundlagen der binärisierten Bildverarbeitung durch Python
[Beispiel für eine Python-Verbesserung] Python mit Codecademy lernen
Berechnen Sie die kürzeste Route eines Diagramms mit der Dyxtra-Methode und Python
Führen Sie das Python-Skript mit TS-220 cron aus
Überprüfen Sie die Existenz der Datei mit Python
2D FEM Stressanalyseprogramm von Python
Verstopft mit Python-Update der GCP-Konsole ①
Einfache Einführung der Spracherkennung mit Python
Beispiel einer dreidimensionalen Skelettanalyse von Python
Zeichnen Sie eine hierarchische Achsenbeschriftung mit matplotlib + pandas
[Python] Lassen Sie uns matplotlib mit Japanisch kompatibel machen
UnicodeEncodeError hat Probleme mit der Standardausgabe von Python3