Displaying figures with differents colors for matlab
Show older comments
i have matlab code that generate 3D points , so i want to plot each 3D points with different color
my last code for generat all points are
figure(i),plot3(mx,my,mz,'b*');
and this one plot all peaks but with same color witch are blue and the image below show u how my code work
Answers (1)
Adam
on 29 May 2014
Hi Malstheet, try to convert the vertors mx , my and mz into the diagonal matrices. Also, erase the letter b defining the blue color. The color of your points should be different, however, it will repeat in a cycle...
Try this:
plot3(diag(mx),diag(my),diag(mz),'*');
Hope it helps you. Adam
4 Comments
Adam
on 29 May 2014
Also, see the function scatter3 , which enables changing color of each point by some rule (e.g. according to the norm...) -- CData property.
Try this:
scatter3(mx,my,mz,'*','CData',sqrt(mx.^2+my.^2+mz.^2));
Malstheet
on 29 May 2014
Malstheet
on 29 May 2014
Adam
on 30 May 2014
It should have different colors. Could you specify your definition of mx , my and mz vectors?
Try this:
mx = linspace(1,100,100);
my = linspace(1,100,100);
mz = linspace(1,100,100);
scatter3(mx,my,mz,'*','CData',sqrt(mx.^2+my.^2+mz.^2));
CData could be defined in couple ways. For (1xN) vectors (or transpose) the CData vector would have same size (1xN). Each value defines the color of corresponding point. E.g. Point mx(1),my(1),mz(1) will have color CData(1) - according to the value related to the range.
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!