How to set specific values in an array to a certain color when using imagesc?

27 vues (au cours des 30 derniers jours)
Caleb Jacobus
Caleb Jacobus le 20 Nov 2018
Commenté : Stephen23 le 20 Mar 2020
I have an array that is 100x100 filled with zeros. I want to set some cells to other values and have the cell change colour depending on the value.
i want cells that have a value of 1 to be green, a value 2 to be white, 3 to be brown and 0 to be blue.
how would i do this?

Réponses (1)

Miriam
Miriam le 20 Nov 2018
You can define your own colormap as follows:
x = randi([0 3],10,10);
colors = [0 0 1;... % blue for 0
0 1 0;... % green for 1
1 1 1;... % white for 2
0.65 0.16 0.16]; % brown for 3, etc.
figure;
imagesc(x);
colormap(colors);
  2 commentaires
Selva Kumar
Selva Kumar le 20 Mar 2020
When there is no '1' or '2' in the matrix 'x', then this colormap doesnot work as intended.
Any solution for this issue ?

Connectez-vous pour commenter.

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