Filter löschen
Filter löschen

Colour data from a vlaue

1 Ansicht (letzte 30 Tage)
toby peterken
toby peterken am 7 Jul. 2015
Beantwortet: Titus Edelhofer am 7 Jul. 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.

Antworten (1)

Titus Edelhofer
Titus Edelhofer am 7 Jul. 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

Kategorien

Mehr zu Colormaps 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!

Translated by