如何让我的堆栈溢出?

时间:2017-03-01 23:18:11

标签: matlab plot bar-chart matlab-figure axes

我想在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])

以下是结果的演示:

stack not overflow

1 个答案:

答案 0 :(得分:12)

一个简单的选项是将轴的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

结果:

stack overflow