Question for color set in colorbar

5 views (last 30 days)
aurc89
aurc89 on 30 Mar 2020
Commented: Ameer Hamza on 30 Mar 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

Accepted Answer

Ameer Hamza
Ameer Hamza on 30 Mar 2020
Edited: Ameer Hamza on 30 Mar 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 Comments
aurc89
aurc89 on 30 Mar 2020
Now it works! Thanks!

Sign in to comment.

More Answers (2)

darova
darova on 30 Mar 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 Comment
aurc89
aurc89 on 30 Mar 2020
Thanks! But this gives the opposite (dark=minimum, white=maximum), what if I want the reversed one (white=minimum, dark=maximum) ?

Sign in to comment.


Image Analyst
Image Analyst on 30 Mar 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 Comment
aurc89
aurc89 on 30 Mar 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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!