如何让我的堆栈溢出?

10

我想在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
在看到答案之前,有点难理解你想做什么。 - Dev-iL
1
在Stack Overflow上提问问题,你一定会感激的:D - Shai
1个回答

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


1
好知道!我不记得以前使用过clipping属性。 - Luis Mendo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接