2017-10-13 1 views
0

Ich habe 3D-Streudiagramme aus experimentellen Daten geplottet. Es stellt die Kontur eines ellipsoidartigen Objekts dar. Die Größe und Form des Ellipsoids variiert mit der Probe.Add 3D-hilfreiche Achsen auf der Seite Matplotlib

Dies ist der Grund, warum ich das Streudiagramm als 2D-Projektionen meiner Daten entlang (xOy), (xOz) und (yOz) Ebenen (und wahrscheinlich anderen) speichern möchte. Aus Gründen der Übersichtlichkeit habe ich mich gefragt, wie ich die Achsen, auf die ich projiziere, auch auf der Seite der Handlung zeichnen kann (genau wie es molekulare Visualisierungssoftwares können). Ich machte ein Beispiel, indem ich die Achsen grob mit Inkscape hinzufügte, aber ich würde gerne eine Lösung mit matplotlib verwenden, wenn möglich.

Siehe das folgende Beispielbild.

enter image description here

Antwort

0

Sie können einen anderen Achsen auf die Figur, addieren in der unteren linken Ecke befindet, z.B.

xax = fig.add_axes([0.1, 0.1,0.2, 0.2]) 

und zeichnen Sie einige Anmerkungen mit Pfeilen dazu.

from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = fig.gca(projection='3d') 

xax = fig.add_axes([0.1, 0.1,0.2, 0.2]) 

xax.annotate('', xy=(1, 0), xytext=(0, 0), 
      arrowprops=dict(facecolor='black', shrink=0.02), clip_on=False) 
xax.annotate('x', xy=(1.1, 0), clip_on=False, va="center") 
xax.annotate('', xy=(0, 1), xytext=(0, 0), 
      arrowprops=dict(facecolor='black', shrink=0.02), clip_on=False) 
xax.annotate('y', xy=(0, 1.1), clip_on=False, ha="center") 
xax.set_xlim(-.2,1.5) 
xax.set_ylim(-.2,1.5) 
xax.set_aspect("equal") 
xax.axis("off") 

plt.show() 

enter image description here

Das ist natürlich nicht mit der 3D-synchronisierten Achsen, so dass Sie eine dieser Achsen pro Ansicht erzeugen können Sie speichern möchten.

+0

Hervorragend! Genau das, was ich gesucht habe. Die Nicht-Synchronisierung ist kein Problem, da meine Anfrage für endgültige Ansichten bestimmt war, also werde ich genau so vorgehen wie vorgeschlagen. Vielen Dank –

Verwandte Themen