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
回答(1 个)
Adam
2014-5-29
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 个评论
Adam
2014-5-29
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
2014-5-29
Malstheet
2014-5-29
Adam
2014-5-30
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!