在MATLAB2017a中,当我使用contourf,然后手动指定颜色栏刻度时,不会显示结束刻度。结束记号对应于轮廓矩阵中的最大值。做一些像thins这样的事情:
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]);它是一个bug还是一个“特性”?我该如何解决这个问题呢?
发布于 2017-08-08 20:36:14
我自己找到了一个解决方案:
基本上,这与contourf(S,30)的工作方式有关。如果我们用contourf(S,30,'ShowText','on')绘制线条的值,最高值将低于maxS。因此,最后一个刻度超出了等高线图的可能值的范围。
我想出的最好的解决方案是使用contourf(S,linspace(1,maxS,30)).Now,结束记号是可见的。
https://stackoverflow.com/questions/45566657
复制相似问题