2011-11-05 19 views
8

मैं Matplotlib गैलरी में उदाहरण "scatter hist" उदाहरण देख रहा हूं।matplotlib: append_axes का उपयोग करते समय, मैं उन अक्षों को कैसे इंगित कर सकता हूं जिन्हें मैं सबपैनल जोड़ना चाहता हूं?

पल x/y subplots शीर्ष पर और क्रमशः सही पर कर रहे हैं, यानी कम:

divider = make_axes_locatable(axScatter) 
axHistx = divider.append_axes("top", 1.2, pad=0.1, sharex=axScatter) 
axHisty = divider.append_axes("right", 1.2, pad=0.1, sharey=axScatter) 

हालांकि, अगर मैं करने के लिए subplot स्थान बदलने:

divider = make_axes_locatable(axScatter) 
axHistx = divider.append_axes("bottom", 1.2, pad=0.1, sharex=axScatter) 
axHisty = divider.append_axes("right", 1.2, pad=0.1, sharey=axScatter) 

यानी चाल नीचे x एक्सपैनल, फिर append_axes स्कैटर प्लॉट के दाईं ओर, x सबप्लॉट के दाईं ओर वाई सबप्लॉट जोड़ता है। (मैं छवि अपलोड करूंगा लेकिन मेरे पास छवियों को पोस्ट करने के लिए अभी तक पर्याप्त उच्च प्रतिष्ठा नहीं है ... grrr)!

मैं append_axes कैसे कह सकता हूं कि मैं y subplot को "मुख्य axes" के दाईं ओर स्कैटर प्लॉट युक्त जोड़ना चाहता हूं? मुझे लगता है कि मुझे ऑब्जेक्ट axScatter को फिर से कहीं निर्दिष्ट करने की आवश्यकता है (हालांकि मैंने सोचा कि divider = make_axes_locatable(axScatter) क्या था ?!) या मुझे लगता है कि विभाजक ने विंडो पैनल में ग्रिड स्थापित किया है और मुझे append_axes को बताना होगा सेल में मुख्य अक्ष होते हैं।

धन्यवाद,

एलेक्स

+2

मुझे पता है कि उपरोक्त मामले में यह काम करेगा अगर मैं बस divider.append_axes ("top" ...) और divider.append_axes ("right" ...) कॉल के आसपास स्विच करता हूं, लेकिन जब मैं चाहता हूं "नीचे" और "बाएं" पर सबप्लॉट डालने के लिए, जब भी मैं जिस तरह से एपेंड_एक्स को कॉल करता हूं, सबप्लॉट अभी भी गलत अक्ष से जुड़ा हुआ है?! – aim

+0

मैंने कोशिश की लेकिन मुझे कोई समाधान नहीं मिला। एक बग की तरह लगता है। – bmu

उत्तर

1

जिस क्रम में आपके द्वारा बनाए गए axHisty और axHistx बात प्रतीत होता है।

divider = make_axes_locatable(axScatter) 
axHisty = divider.append_axes("right", 1.2, pad=0.1, sharey=axScatter) 
axHistx = divider.append_axes("bottom", 1.2, pad=0.1, sharex=axScatter) 

एक बग की तरह यह यकीन है कि बदबू आ रही है: यदि आप पिछले दो बयानों का क्रम बदलने के हैं तो आप वांछित प्रभाव प्राप्त कर सकते हैं।