Как добавить маркер в цветовую панель Matlab?

Я хочу добавить таркер/специальную галочку по определенным значениям в моих цветных полосах Matlab. Например, скажем, у меня есть шкала цветовой шкалы от -20 до 60, и мое критическое значение равно 37,53, как я могу добавить маркер по этому значению цветовой полосы?


person DankMasterDan    schedule 13.05.2013    source источник


Ответы (1)


colorbar на самом деле является объектом axes, поэтому вы можете добавлять деления, как любые оси:

myTick = 37.53;

c = colorbar();
ticks = get(c, 'YTick');
% Add your tick and sort so it's monotonically increasing
ticks = sort([ticks myTick]);
set(c, 'YTick', ticks);

Редактировать: в комментариях вы просили указать способ выделить пользовательскую галочку среди остальных. Вы можете сделать одну жирную галочку, используя следующий метод:

% Here is an example plot
pcolor(rand(100));
c = colorbar();
myTick = 0.45; % Change this for real data

% Create a copy of the colorbar with transparent background and overlay
c2 = copyobj(c, gcf);
alpha(get(c2, 'Children'), 0);
set(c2, 'Color', 'none');
set(c2, 'Position', get(c, 'Position'));

% Give the copy a single tick mark and set its font style
set(c2, 'YTick', myTick);
set(c2, 'FontWeight', 'bold');
person wakjah    schedule 13.05.2013
comment
Спасибо, Wakjah, но ваше решение не выделит критическую отметку среди всех других отметок. Есть ли способ сделать его визуально отличным от остальных? - person DankMasterDan; 14.05.2013