Question for color set in colorbar

3 Ansichten (letzte 30 Tage)
aurc89
aurc89 am 30 Mär. 2020
Kommentiert: Ameer Hamza am 30 Mär. 2020
Hello,
I plot an image using imagesc, and the colorbar is automatically set from blue (lowest value, e.g. 0) to red (highest value, e.g. 1). Is there a way to set the interval color from white (lowest value) to red (highest value) ?
Thanks

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 30 Mär. 2020
Bearbeitet: Ameer Hamza am 30 Mär. 2020
You can also create you custom colormap
White = [1 1 1];
Red = [1 0 0];
t = linspace(0,1,100)';
cmap = Red.*t + White.*(1-t);
colormap(cmap);
colorbar
  6 Kommentare
aurc89
aurc89 am 30 Mär. 2020
Now it works! Thanks!
Ameer Hamza
Ameer Hamza am 30 Mär. 2020
Glad to be of help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

darova
darova am 30 Mär. 2020
Yes, there is a way. Use colormap
cmap = hot(100);
colormap(cmap(30:end,:)) % i use only last 70 values because first 30 is too dark
colorbar
  1 Kommentar
aurc89
aurc89 am 30 Mär. 2020
Thanks! But this gives the opposite (dark=minimum, white=maximum), what if I want the reversed one (white=minimum, dark=maximum) ?

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 30 Mär. 2020
Try this:
grayImage = imread('cameraman.tif');
white = [1 1 1];
red = [1 0 0];
imagesc(grayImage);
ramp = linspace(0, 1, 256)';
ramp = [ramp, ramp, ramp];
customColorMap = red .* ramp + white .* (1-ramp);
colormap(customColorMap);
colorbar
  1 Kommentar
aurc89
aurc89 am 30 Mär. 2020
I see the image but the code gives error, I think it's due to my previous version of Matlab.
Thanks anyway! I think it works now

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by