how to draw a 3d plot with different color?

2 views (last 30 days)
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

Accepted Answer

Rik
Rik on 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 Comments
Rik
Rik on 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)
Walter Roberson
Walter Roberson on 31 Jan 2018
color = repmat('b', size(z));
color(z<0.2) = 'g';
pointsize = 20;
scatter(x, y, pointsize, color);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!