如何更改matlab colorbar缩放

时间:2015-11-11 12:30:41

标签: matlab colorbar colormap

我很难理解如何在Matlab2015b中更改我的色条范围。

默认情况下,它的范围是0到1.我设法通过使用:

更改标签
    c=colorbar;
    c.Limits=[0 180] % the range that I want

问题是当我这样做时颜色不会缩放,换句话说,它将显示从0到180但仍然使用与[0 1]相关联的颜色,这使得整个条形看起来像一种颜色。

enter image description here

我只是通过更改刻度并执行其他方法:

colorbar('Yticks',[0:10:180])

同样,颜色条仍然与0到1相关联,因此除了0之外的任何刻度都不会出现,因为第一个从10开始。

enter image description here

如何更改基于的数据?我尝试更改c.UserData,但它没有做任何事情。

2 个答案:

答案 0 :(得分:2)

根据你的评论,我看到你要做的事情。

您在ytick设置了正确的行,但是您注意到这只会改变颜色条上刻度的位置,但缩放保持不变。相反,请尝试设置yticklabel

% Show the colorbar
c = colorbar;

% Define the desired ticks
ticks = [0:10:180];

% Sets the correct location and number of ticks
set(c, 'ytick', ticks / max(ticks));

% Set the tick labels as desired
set(c, 'yticklabel', ticks);

答案 1 :(得分:1)

可以通过以下方法实现不手动覆盖刻度规格的方法:

limits = [0,180];
c = colorbar;
set(gca,'clim',limits([1,end]))

从那里开始,刻度线可以根据需要手动更改或保留。

  1. 原始比例色条
  2. 已缩放但保留了自动刻度标签

enter image description here enter image description here