2017-03-01 12 views
10

मैं मैटलैब में एक बार चार्ट बनाना चाहता हूं, जहां अक्षरों में से एक श्रेणी अक्षरों की छत के माध्यम से "छत के माध्यम से तोड़ रही है", लेकिन मुझे यह नहीं पता कि यह कैसे किया जाए। जब मैं ऊपरी सीमा को कम मूल्य में बदलता हूं, तो बार ट्रक चला जाता है।मैं अपने स्टैक ओवरफ़्लो को कैसे छोड़ सकता हूं?

मैं क्या कर सकता है? मैं ऊपरी y- अक्ष सीमा 600

यहाँ रहना चाहता हूँ

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

मैं क्या करने की कोशिश की है::

यहाँ मेरी डेटा है

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

यहाँ का एक प्रदर्शन है नतीजा:

stack not overflow

+0

Badum-tssssssss –

+1

यह समझना महत्वपूर्ण है कि आप क्या जवाब को देखने से पहले ऐसा करने के लिए, चाहते हैं एक सा मुश्किल था .. –

+1

स्टैक ओवरफ़्लो पर स्टैक ओवरलो प्रश्न पूछना - आपको सराहना करना है: डी – 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

जानना अच्छा है! मुझे याद नहीं है कि अतीत में 'क्लिपिंग' संपत्ति का इस्तेमाल किया गया था –

संबंधित मुद्दे