2012-06-05 16 views
15

मैं एक ऑन-स्क्रीन आकृति उत्पन्न कर रहा हूं जिसमें दो सबप्लॉट हैं: एक छवि है और दूसरा ग्राफ है। मार्जिन आंकड़ों के चारों ओर बहुत बड़े हैं।matplotlib आकृति के लिए मार्जिन कैसे सेट करें?

मैं आंकड़ों के चारों ओर मार्जिन कैसे समायोजित करूं?


अधिकांश सवालों कि मैं शामिल बचत छवियों (bbox सही लग रहा था) के लिए खोज की, और निरपेक्ष स्थिति के लिए subplots के बजाय कुल्हाड़ियों का उपयोग कर।

def __init__(self, parent): 
    wx.Panel.__init__(self, parent) 
    ... 

    self.figure, (self.picture, self.intensity) = \ 
     plt.subplots(nrows=2, figsize=(12, 5)) 
    self.figure.set_dpi(80) 
    #self.figure.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1) 
    #self.picture.imshow(np.random.uniform()) #size=(5, 50))) 
    self.intensity.plot(np.random.random()) #size=641)) 

    self.intensity.autoscale(axis='x', tight=True) 
+3

plt.tight_layout() या plt.subplots_adjust() या fig.savefig (bbox_inches = 'tight') – bmu

+0

@bmu पर एक नज़र डालें, मुझे लगता है कि आपकी टिप्पणी एक उत्तर होना चाहिए, नहीं? – Yann

+1

बहुत सारे फ़ंक्शन केवल पिलैब मोड और सहेजे गए आंकड़ों के लिए काम करते हैं। मुझे ऐसा कुछ चाहिए जो 'चित्रा' ऑब्जेक्ट के लिए काम करता हो। – aitchnyu

उत्तर

24

plt.tight_layout() या plt.subplots_adjust() या fig.savefig(bbox_inches='tight') पर एक नज़र डालें:

यहाँ कोड मैं आंकड़ा उत्पन्न करने के लिए प्रयोग किया जाता है।

subplots_adjust के साथ आप अधिकांश पैरामीटर समायोजित कर सकते हैं, जबकि tight_layout() और bbox_inches='tight' कम या ज्यादा अर्द्ध स्वचालित हैं।

-3

आप प्लॉट मेनू() को समायोजित प्लॉट मेनू में दिए गए विशेषताओं के साथ plt.set() का भी उपयोग कर सकते हैं। सेट (शीर्ष = 0.82) आदि

+1

मेरे लिए काम नहीं करता है। कृपया एक और विस्तृत उत्तर दें। – toom

+0

मुझे प्रलेखन में matplotlib.pyplot.set नहीं मिला है http://matplotlib.org/api/pyplot_api.html – usernumber

+0

उन्होंने संभवतः पिछले 2 वर्षों में अपना एपीआई बदल दिया है। – Tritlo

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