How can I plot data in different colors in a 3D plot?

Hi! I am a beginner Matlab user. I have a lot of colorimetric data (L * a * b * coordinates) and I want to represent them inside the L * a * b * 3D color space. In the plot, each point must have the matching color in rgb coordinates. Attached the script for only one point to better understand the problem. P.S. The data are saved in a xls file
rgb = lab2rgb ([46.33 1.17 12.35]);
L = 46.33;
a = 1.17;
b = 12.35;
plot3(a,b,L,'o','MarkerEdgeColor',[0.4699 0.4251 0.3500],'MarkerFaceColor',[0.4699 0.4251 0.3500]);
axis ([-100 100 -100 100 -100 100]);
axis square;
grid on;

3 commentaires

Adam
Adam le 20 Sep 2018
Beware that not all 'colours' that you can represent in Lab space will have a valid RGB conversion though. The gamut of Lab space is larger than that of RGB space so some conversions will result in R, G or B values out of range ( < 0 or > 1 ).
Thank you for the suggestion! Is it possible to use L*a*b* values, instead RGB, in a Matlab plot?
Adam
Adam le 20 Sep 2018
No, you have to convert to RGB to render on the screen.

Connectez-vous pour commenter.

 Réponse acceptée

KSSV
KSSV le 20 Sep 2018

1 vote

Read about scatter and scatter3

1 commentaire

Thank you very much! Using scatter3 I think i solved the problem.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by