MATLAB colorbar结束标记问题

时间:2017-08-08 11:06:27

标签: matlab colorbar contourf

在MATLAB2017a中,当我使用contourf然后手动指定颜色条刻度时,不显示结束刻度。 结束标记对应于轮廓矩阵中的最大值。 做一些类似的事情:

S = floor(rand(20)*20)+1;
maxS = max(max(S)); %S is an integer matrix obtained from the previous code
tickStep = maxS/10;
contourf(S, 30)
bar = colorbar('XTick', [1,tickStep:tickStep:maxS]);

这是一个错误还是一个“功能”? 我该如何解决它?

1 个答案:

答案 0 :(得分:1)

自己找到解决方案:

基本上它与contourf(S,30)的工作方式有关。如果我们使用contourf(S,30,'ShowText','on')绘制线条的值,则最高值将低于maxS。因此,最后一个刻度超出了等值线图的可能值范围。

我提出的最佳解决方案是使用contourf(S,linspace(1,maxS,30))。现在可以看到结束标记。