Question for color set in colorbar

4 次查看(过去 30 天)
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

采纳的回答

Ameer Hamza
Ameer Hamza 2020-3-30
编辑:Ameer Hamza 2020-3-30
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 个评论

请先登录,再进行评论。

更多回答(2 个)

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

请先登录,再进行评论。


Image Analyst
Image Analyst 2020-3-30
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 个评论
aurc89
aurc89 2020-3-30
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Colormaps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by