如何更改 matlab colorbar 缩放比例

How do I change matlab colorbar scaling

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

默认情况下,它的范围从 0 到 1。我设法使用以下方法更改了标签:

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

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

我使用了另一种方法,只需更改刻度并执行以下操作:

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

同样,颜色条仍然与 0 到 1 相关联,因此 none 个刻度除了 0 将显示为第一个从 10 开始。

如何更改它所基于的数据?我尝试更改 c.UserData 但它没有任何作用。

从你的评论中,我明白了你想做什么。

您在正确的线条设置 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);

一种不手动覆盖刻度规范的方法可以通过以下方式实现:

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

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

  1. 原始比例色条
  2. 重新缩放,但保留自动勾选标签