Любой простой способ построить трехмерный разброс в Python, который я могу вращать?

В настоящее время я использую matplotlib для построения трехмерного разброса, и пока он выполняет свою работу, я не могу найти способ повернуть его, чтобы лучше видеть мои данные.

Вот пример :

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

Я бы хотел решение, которое позволяет мне делать это во время выполнения, но пока я могу вращать его, и оно короткое / быстрое, меня это устраивает.

Вот сравнение графиков, созданных после применения PCA для набора данных радужки:
1. майави
alt text
2. matplotlib
alt text

Mayavi упрощает визуализацию данных, но MatPlotLib выглядит более профессионально. Matplotlib также легче.

21
задан pnodbnda 19 January 2011 в 20:28
поделиться