how to draw a 3d plot with different color?

Hi
I want to assign different color to the specific values in a 3D plot. for example: I have x=[1;2;4;3] y=[1;2;3;4] z=[0.1;0.2;0.3;0.4]
for z>=0.2 scatter3(x,y,z,'b','.') for z=<0.2 scatter3(x,y,z,'g','.')?
thanks

 Réponse acceptée

Rik
Rik le 31 Jan 2018
Logical indexing is your answer:
scatter3(x(z>0.2),y(z>0.2),z(z>0.2),'b.')
hold on
scatter3(x(z=<0.2),y(z=<0.2),z(z=<0.2),'g.')

4 commentaires

farfar
farfar le 31 Jan 2018
Thanks !
farfar
farfar le 31 Jan 2018
is there a way that I can have a color bar in the plot to say z<0.2 in green and more than 0.2 is blue ?
Rik
Rik le 31 Jan 2018
You could hack a colorbar to do something like that, but it won't be pretty. (set the tick property to 0.2 and use caxis)
color = repmat('b', size(z));
color(z<0.2) = 'g';
pointsize = 20;
scatter(x, y, pointsize, color);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Surfaces, Volumes, and Polygons dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by