Attualmente sto usando matplotlib per tracciare una dispersione 3d e, mentre il lavoro viene svolto, non riesco a trovare un modo per ruotarlo per vedere meglio i miei dati.Un modo semplice per tracciare una dispersione 3d in Python che posso ruotare intorno?
Ecco un esempio:
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()
Vorrei una soluzione che mi permette di farlo durante il tempo di esecuzione, ma il tempo che posso ruotare ed è a breve/veloce sto bene con esso.
Ecco un confronto tra i lotti prodotti dopo l'applicazione di un PCA per l'iride set di dati:
1. Mayavi
2. matplotlib
Mayavi rende più facile visualizzare i dati, ma MatPlotLib sembra più professionale. Matplotlib è anche più leggero.
zoom in questo è migliore perché i punti aumentano di dimensioni come lo zoom (matplotlib aumenta solo la distanza che rende lo zoom non utile) e anche matplotlib disegna il riquadro dell'asse che non tiene il passo con lo zoom. anche se questo è molto più pesante/lento, quindi probabilmente è meglio usarlo solo quando devi zoomare. – pnodbnda
Questa riga ('import enthought.mayavi.mlab as mybab') non ha funzionato per me. apparentemente "enthought" non era un modulo. – Richard
@Richard: hai installato 'mayavi'? L'installazione dovrebbe venire con le istruzioni su come importare il modulo mayavi. – unutbu