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 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sri Vutukuri
el 20 de Jul. de 2017
Respondida: Walter Roberson
el 25 de Jul. de 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 comentarios
Respuesta aceptada
Sangeetha Jayaprakash
el 24 de Jul. de 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:
Más respuestas (1)
Walter Roberson
el 25 de Jul. de 2017
See the file exchange contribution freezeColors which knows how to do the calculations to convert relative value to rgb
0 comentarios
Ver también
Categorías
Más información sobre Scatter Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!