Matlab - Color en funcion de la profundidad

   
Vista:

Color en funcion de la profundidad

Publicado por Joao BC (3 intervenciones) el 02/03/2015 03:37:59
CORDIALES SALUDOS

Estoy ploteando 35000 datos de posición (lat, long, prof) en un gráfico 3D, pero deseo asignar colores a mi marcador (o) en función de la profundidad incluyendo su barra de colores (colorbar), la estructura del código es sencillo:

>> file = load('data.txt');
>> lat = file(:,1);
>> long = file(:,2);
>> prof = file(:,3);
>> min_prof = min(prof);
>> max_prof = max(prof);
>> plot3(lat, long, prof, 'o')

Agradeceré su valiosa colaboración.

Atte
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dave

Color en funcion de la profundidad

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 02/03/2015 12:31:41
Hola!!!;

Te dejo un ejemplo:

1
2
3
4
5
z = linspace(0,4*pi,250);
x = 2*cos(z) + rand(1,250);
y = 2*sin(z) + rand(1,250);
scatter3(x,y,z,100,z,'filled')
view(-30,10)

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
dcorrea@fismatlab.org
Servicios de Programación Matlab
http://fismatlab.org
http://fismatlab.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Color en funcion de la profundidad

Publicado por Joao BC (3 intervenciones) el 02/03/2015 22:04:01
Muy preciso... gracias por la aportación, dejo el formato de los datos y el código que use para realizar el gráfico, espero pueda servir a alguien para otros fines::::

-15.66,-72.01,17
-16.77,-72.58,48
-15.65,-71.84,12
-12.86,-74.01,90
-16.05,-74.90,39
-13.46,-72.21,13
-16.11,-74.12,45
-12.16,-77.39,48
: : :
: : :


>> file = load('data.txt'); % cargar data.txt, 3500 x 3 separado por puntos
>> lat = file(:,1); % asignar primer vector columna a lat
>> long = file(:,2); % asignar segundo vector columna a long
>> prof = file(:,3); % asignar tercer vector columna a prof
>> min_prof = min((-1)*prof); % valor mínimo de prof (más profundo)
>> max_prof = max((-1)*prof); % valor máximo de prof (más superficial)
>> scatter3(lat, long, (-1)*prof, 50, (-1)*prof, 'filled') % plot 3D
>> colorbar()
>> xlabel('Latitud')
>> ylabel('Longitud')
>> zlabel('Profundidad')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar