Effacer les filtres
Effacer les filtres

Colour data from a vlaue

1 vue (au cours des 30 derniers jours)
toby peterken
toby peterken le 7 Juil 2015
I have a value that ranges from roughly -5 to 10. From this I would like it so that when the value is high it returns red (or white) and for low blue/black with other colours in the middle.
However, all the colormap tutorials/references I have seen are for plotting graphs. I need hexadecimal values of the RGB so that I can write a KML file with them
Any help would be appreciated.

Réponses (1)

Titus Edelhofer
Titus Edelhofer le 7 Juil 2015
Hi Toby,
yes, colormap is usually used in connection with graphics. But there is nothing wrong in using the values for your purpose:
% get the values of a colormap, e.g. jet
f = figure('visible', 'off');
cm = colormap('jet');
close(f);
% limits
cmin = -5;
cmax = 10;
% now interpolate e.g. at 7
val = 7;
if val<=cmin
index = 1;
elseif val>=cmax;
index = size(cm,1);
else
index = round(1 + (val-cmin) * (size(cm,1)-2)/(cmax-cmin));
end
% grab corresponding row:
rgb = cm(index,:);
Titus

Catégories

En savoir plus sur Colormaps dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by