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))
. Теперь конечный тик виден.