Is it possible to define colormap ranges or merge colormaps?

25 views (last 30 days)
I am creating a heat map using imagesc with data in [0 100]. I need to emphasize two data ranges as distinct, say [0 5] shades of red and [5 100] colors that are not red.
I'm a proficient MATLAB user/googler generally, but am not sure what vocabulary to use when searching. Any advice - either tips on how to accomplish this or terms to google - would be welcome!
Thanks!

Accepted Answer

Chad Greene
Chad Greene on 25 Aug 2022
Try concatenating colormaps, like this. Below I'm using my cmocean colormaps, which are available on File Exchange, but you can concatenate any RGB arrays.
% Some data
Z = abs(peaks(500));
Z = 100*Z/max(Z(:)); % scaled 0 to 100
figure
imagesc(Z)
cb = colorbar;
% Two colormaps:
col1 = cmocean('amp',6); % 6 shades of red
col2 = parula(95); % 95 shades of parula
% Concatenate colormaps:
col = cat(1,col1,col2);
colormap(col)
  1 Comment
lstr
lstr on 25 Aug 2022
Thank you so much! This was exactlly what I was looking for!

Sign in to comment.

More Answers (0)

Categories

Find more on Colormaps in Help Center and File Exchange

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!