How do I make a red and blue colormap?

127 Ansichten (letzte 30 Tage)
L'O.G.
L'O.G. am 15 Sep. 2022
Kommentiert: Star Strider am 15 Sep. 2022
I can plot a matrix of integers using imagesc. How do I make a discrete colormap (i.e., only for the integers) with a gradient of red colors for positive values and a gradient of blue colors for negative values, with zero being white? Also, the numbers aren't symmetric about zero, i.e., they range from [-2,5] so I want a deep blue for -2 and a deep red for 5. I hope that makes sense.

Akzeptierte Antwort

Star Strider
Star Strider am 15 Sep. 2022
I am not exactly certain what you want, however the basic colormap is easy to create —
cm = [1 0 0; 1 1 1; 0 0 1]; % Basic Colormap
cmi = interp1([-2; 0; 5], cm, (-2:5)) % interpolated Colormap
cmi = 8×3
1.0000 0 0 1.0000 0.5000 0.5000 1.0000 1.0000 1.0000 0.8000 0.8000 1.0000 0.6000 0.6000 1.0000 0.4000 0.4000 1.0000 0.2000 0.2000 1.0000 0 0 1.0000
M = randi([-2 5],9) % Matrix
M = 9×9
-1 5 3 -2 -1 -2 3 2 3 1 1 -2 1 0 4 -2 1 -2 2 0 5 -1 4 -1 2 -2 0 0 2 0 -1 5 -1 -2 4 1 -2 1 1 3 -2 4 -1 -1 1 2 1 4 4 0 1 5 1 3 5 0 4 1 4 3 -2 4 -2 -2 4 -2 1 1 3 4 1 -2 5 4 5 4 -2 3 2 -2 0
figure
imagesc(M)
colormap(cmi)
Experiment to get different results.
.
  2 Kommentare
L'O.G.
L'O.G. am 15 Sep. 2022
Thank you!
Star Strider
Star Strider am 15 Sep. 2022
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by