2013-01-24 13 views
8

अक्सर ग्राफ के किनारे के खिलाफ चलाए जोड़ें, मैं इस तरह रेखांकन मिलती है:मार्जिन जब भूखंडों जब मैं matplotlib में साजिश

frequency response running along top edge

आप समारोह क्योंकि यह के किनारे के खिलाफ चलाता नहीं देख सकते हैं प्लॉट।

वहाँ किसी भी तरह से स्वचालित रूप से इन मामलों में कुछ मार्जिन जोड़ने है, ताकि वे इस तरह दिखेगा:

frequency response with tiny amount of noise

+0

ओह, आप यह सुनिश्चित करने के लिए शोर की थोड़ी मात्रा जोड़ सकते हैं कि यह हमेशा 0 से थोड़ा ऊपर है? कुछ 'एच + = रैंडन (लेन (एच)) * रिक्ति (एबी (एच)) * 100000' की तरह कुछ? – endolith

उत्तर

15

आप ax.margins() उपयोग कर सकते हैं margins स्थापित करने के लिए। उदाहरण:

In [1]: fig, ax = plt.subplots() 

In [2]: ax.plot(np.arange(10), '-o') 
Out[2]: [<matplotlib.lines.Line2D at 0x302fb50>] 

without margin

In [1]: fig, ax = plt.subplots() 

In [2]: ax.margins(0.05) 

In [3]: ax.plot(np.arange(10), '-o') 
Out[3]: [<matplotlib.lines.Line2D at 0x302fb50>] 

with margin

तुम भी केवल x- या y-मार्जिन सेट कर सकते हैं। हालांकि यह matplotlibrc विकल्प प्रतीत नहीं होता है ताकि आप इसे डिफ़ॉल्ट व्यवहार कर सकें (इसलिए यह पूरी तरह से स्वचालित रूप से नहीं है)। मैंने अनुरोध करने के लिए github issue खोला।

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