Displaying figures with differents colors for matlab

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)

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

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));
it work perfect but the color still the same didnt change
CData ??? must be the colors
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.

Sign in to comment.

Tags

No tags entered yet.

Asked:

on 29 May 2014

Commented:

on 30 May 2014

Community Treasure Hunt

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

Start Hunting!