2014-12-27 16 views
29

मैं matplotlib/pylab पायथन मॉड्यूल के साथ बहुत ही सरल चार्ट बना रहा हूं। अक्षर "वाई" जो वाई अक्ष को लेबल करता है उसकी तरफ है। यदि आप लेबल लंबे समय तक थे, तो आप इसकी अपेक्षा करेंगे, ताकि बाईं ओर ग्राफ के बाहर विस्तार न किया जाए। लेकिन एक पत्र लेबल के लिए, यह समझ में नहीं आता है, लेबल सीधे होना चाहिए। मेरी खोज खाली हो गई है। मैं क्षैतिज रूप से "वाई" कैसे मुद्रित कर सकता हूं?matplotlib/pylab चार्ट में क्षैतिज रूप से वाई अक्ष लेबल को कैसे मुद्रित करें?

उत्तर

50

यह बहुत आसान है। ,

from matplotlib import pyplot as plt 
plt.ion() 
plt.plot([1,2,3]) 
h = plt.ylabel('y') 
h.set_rotation(0) 
plt.draw() 

वैकल्पिक रूप से, आप रोटेशन एक तर्क के रूप अर्थात

plt.ylabel('y',rotation=0) 
+0

ग्रेट, यह काम करता है। धन्यवाद! –

+9

एक तरफ ध्यान दें, आप रोटेशन को सीधे 'plt.ylabel' में पास कर सकते हैं। (उदाहरण के लिए 'plt.ylabel (' y ', rotation = 0) ') –

+0

अरे वह सुरुचिपूर्ण है। धन्यवाद, जो। –

19

स्वीकार किए जाते हैं जवाब में विस्तार करते हुए पारित कर सकते हैं जब हम एक विशेष के साथ काम: लेबल की साजिश रचने के बाद, आप बस रोटेशन को बदल सकते हैं कुल्हाड़ियों ax वस्तु:

ax.set_ylabel('abc', rotation=0, fontsize=20, labelpad=20) 

ध्यान दें कि अक्सर labelpad मैन्युअल भी समायोजित करने की आवश्यकता होगी - अन्यथा "abc" intrud होगा साजिश पर ई।

संक्षिप्त प्रयोगों से मुझे लगता है कि labelpad टिक लेबल और वाई-लेबल के केंद्र के बाध्यकारी बॉक्स के बीच ऑफ़सेट है। (इसलिए, नाम का काफी पैडिंग नहीं है - यह अधिक अंतर्ज्ञानी होता अगर यह लेबल के बाध्यकारी बॉक्स के लिए अंतर था।)

+9

पर डॉट पूर्णता का उपयोग किया है, जिसे आप 'रोटेशन =' क्षैतिज 'मान सकते हैं। इसके अलावा, मनमाने ढंग से 'लेबलपैड' (और उसके बाद परिणामों के आधार पर समायोजित करने की आवश्यकता) चुनने के बजाय, आप 'ha =' right '' तर्क जोड़ सकते हैं, जहां 'क्षैतिज संरेखण 'कीवर्ड के लिए सुविधाजनक नाम है। – NauticalMile

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