2017-03-01 63 views
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

+0

Badum-tssssssss –

+1

这是一个有点难以明白你想要看到的答案之前做的,什么.. –

+1

在堆栈溢出问一个stackoverlow问题 - 你必须明白:D – Shai

回答

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

很高兴知道!我不记得过去曾使用过“剪辑”属性 –