MATLAB ColorBar конец тик проблема

В 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]);

Это ошибка или это "фича"? Как я могу обойти это?

1 ответ

Решение

Сам нашел решение:

В основном это связано с тем, как contourf(S,30) работает. Если мы нанесем значения линий с contourf(S,30,'ShowText','on') самое высокое значение будет ниже, чем maxS, Таким образом, последний тик находится вне диапазона возможных значений контурного графика.

Лучшее решение, которое я придумал, это использовать contourf(S,linspace(1,maxS,30)). Теперь конечный тик виден.

Другие вопросы по тегам