Is it possible to define colormap ranges or merge colormaps?

39 vues (au cours des 30 derniers jours)
lstr
lstr le 25 Août 2022
Commenté : lstr le 25 Août 2022
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!

Réponse acceptée

Chad Greene
Chad Greene le 25 Août 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 commentaire
lstr
lstr le 25 Août 2022
Thank you so much! This was exactlly what I was looking for!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Orange dans Help Center et File Exchange

Tags

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by