How do I retrieve the RGB data of a scatter plot from the CData values(a 1D vector corresponding to the array lengths X and Y) ?
15 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Sri Vutukuri
am 20 Jul. 2017
Beantwortet: Walter Roberson
am 25 Jul. 2017
I have a scatter plot with x and y vector's as my data. I have colored using another 1D vector z which has the same number of rows as x and y. Now I would like to get the RGB values of the corresponding colors from the CData scalar values.
0 Kommentare
Akzeptierte Antwort
Sangeetha Jayaprakash
am 24 Jul. 2017
You can obtain the indices based on the colormap and the Z vector applied to the CData property. Then you can get the corresponding RGB values using the "ind2rgb" function as follows:
h = scatter(x,y);
h.CData = z;
Cdata = h.CData;
cmap = colormap;
% make it into a index image.
cmin = min(Cdata(:));
cmax = max(Cdata(:));
m = length(cmap);
index = fix((Cdata-cmin)/(cmax-cmin)*m)+1; %A
% Then to RGB
RGB = ind2rgb(index,cmap)
For information on the "ind2rgb" function, refer this link:
Weitere Antworten (1)
Walter Roberson
am 25 Jul. 2017
See the file exchange contribution freezeColors which knows how to do the calculations to convert relative value to rgb
0 Kommentare
Siehe auch
Kategorien
Mehr zu Scatter Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!