Einen einfachen Weg zum zeichnen einer 3d-scatter in Python, die ich drehen kann, um?
Derzeit bin ich mit matplotlib in den plot ein 3d-scatter-und während es bekommt den job getan, ich kann nicht scheinen, einen Weg finden, es zu drehen, um zu sehen, meine Daten besser.
Hier ein Beispiel:
import pylab as p
import mpl_toolkits.mplot3d.axes3d as p3
#data is an ndarray with the necessary data and colors is an ndarray with
#'b', 'g' and 'r' to paint each point according to its class
...
fig=p.figure()
ax = p3.Axes3D(fig)
ax.scatter(data[:,0], data[:,2], data[:,3], c=colors)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
fig.add_axes(ax)
p.show()
Ich würde gerne eine Lösung, mit der es mich tun, während der Ausführung Zeit, aber wie lange, wie kann ich drehen Sie es, und es ist kurz/schnell fein ich mit dabei bin.
Hier ist ein Vergleich der plots erzeugt nach der Anwendung der PCA auf den iris-Datensatz:
1. mayavi
2. matplotlib
Mayavi macht es einfacher, um Daten zu visualisieren, aber MatPlotLib sieht professioneller aus. Matplotlib ist auch leichter.
InformationsquelleAutor der Frage pnodbnda | 2011-01-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit mayaviSie kann wie ein Grundstück mit
Die GUI ermöglicht die rotation durch klicken-und-ziehen und Zoomen in/out via rechts-Klick-und-ziehen.
InformationsquelleAutor der Antwort unutbu
Nun, zuerst müssen Sie definieren, was du damit meinst "siehe meine Daten besser"...
Können Sie drehen und Zoomen Sie in die Zeichnung mit Hilfe der Maus, wenn Sie wollen, sind zu interaktiv arbeiten.
Wenn Sie nur wollen, drehen Sie die Achsen über ein Programm, dann verwenden Sie
ax.view_init(elev, azim)
woelev
undazim
sind die elevation und der Azimut-Winkel (in Grad), die Sie anzeigen möchten, auf Ihrem Grundstück aus.Alternativ können Sie die
ax.elev
ax.azim
undax.dist
Eigenschaften zu erhalten/einstellen der elevation, azimuth, und Abstand von der aktuellen view point.Kreditaufnahme die Quelle von dieses Beispiel:
Bekommen wir einen schönen scatterplot:
Können Sie drehen Sie die Achsen programmatisch wie folgt:
Hoffe, das hilft ein bisschen!
InformationsquelleAutor der Antwort Joe Kington