2011-11-22 16 views
5

He estado buscando en Google por un tiempo pero no he podido encontrar una solución para mi problema. Soy un usuario de Matlab aficionado y me gustaría crear un diagrama de dispersión 3D, por esto tengo una matriz que contiene varios puntos en el espacio 3D:Diagrama de dispersión en 3D de Z-Value

>> size(A) 

    ans = 

     2511   3 

yo era capaz de crear un diagrama de dispersión en 3D utilizando la función "scatter3", pero ahora estoy un poco atrapado en la codificación por colores de los puntos 3D.

scatter3 (A (:, 1), A (:, 2), A (:, 3));

Esto representar los datos, pero ahora me gustaría añadir un código de colores basado en el valor z ... Los colores sí mismos no importan demasiado. Podría ser un espectro de arco iris o un espectro de temperatura o lo que sea. Me gustaría colorearlos para distinguir los valores z de los puntos.

¿Alguien puede ayudarme con esto? ¡Gracias!

+0

Mi respuesta es directamente de los documentos, por cierto: http://www.mathworks.com/help/techdoc/ref/scatter3.html –

Respuesta

7

Tiene que dar más argumentos para scatter3.

scatter3(X,Y,Z,S,C); 

S le permite especificar las áreas de cada marcadores (con un vector) o una sola área para todos los marcadores, mientras que C le permite especificar el color. Si C es un vector, sus valores se correlacionarán linealmente con el mapa de colores actual. Para cambiar el mapa de colores, llame al colormap(jet), por ejemplo. Consulte la documentación en colormap.

Lo siento si eso es confuso. Versión corta:

scatter3(A(:,1),A(:,2),A(:,3),9,A(:,3)); 
colormap(jet); %# or other colormap 
+0

agradecimiento que funciona bien ... de alguna manera solo intenté cambiar el tamaño, pero no pasó el argumento del color ... estúpido ... ¡gracias! – evident

Cuestiones relacionadas