Как я могу позволить переполнение стека?

Я хочу составить гистограмму в Matlab, где одна из категорий "пробивает крышу" осей по пределу оси y, но я не могу понять, как это сделать. Когда я меняю верхний предел на более низкое значение, бар загружается.

Что я могу сделать?

Вот мои данные:

data =
   115   116    97    99   107   NaN   NaN   NaN
   111   118   101   114   102   108   111   119

Я хочу, чтобы верхний предел оси y составлял 600.

Вот что я пробовал:

bar(data,0.5,'stack')
ylim([0 600])

Вот демонстрация результата:

стек не переполняется

Ответ 1

Один простой параметр - установить свойство clipping для осей на off.

bar(data,'stack')
colormap('lines') % make it colorfull :)
bax = gca; % get axis handle
bax.Clipping = 'off';
bax.YLim(2) = 600; % set the upper limit

Для лучшего результата вы можете также немного уменьшить размеры осей, поэтому панель останется в пределах фигуры. Кроме того, он лучше без бокса осей:

top = bax.YLim(2); % before you change the limit
bax.YLim(2) = 600; % set the upper limit
bax.Position(4) = bax.Position(4)*(bax.YLim(2)/top);
box off

результат:

переполнение стека