मैं एक वैज्ञानिक लेख के लिए कुछ आंकड़े बनाने की कोशिश कर रहा हूं, इसलिए मैं चाहता हूं कि मेरे आंकड़े एक विशिष्ट आकार के हों। मैं यह भी देखता हूं कि डिफ़ॉल्ट रूप से Matplotlib आंकड़ों की सीमा पर बहुत सी पैडिंग जोड़ता है, जिसकी मुझे आवश्यकता नहीं है (क्योंकि आंकड़े किसी भी सफेद पृष्ठभूमि पर होंगे)।सटीक आकार और कोई पैडिंग (और अक्ष के बाहर किंवदंती) के साथ चित्र बनाना
एक विशिष्ट आकृति आकार सेट करने के लिए मैं बस plt.figure(figsize = [w, h])
का उपयोग करता हूं, और मैं पैडिंग को हटाने के लिए tight_layout = {'pad': 0}
तर्क जोड़ता हूं। यह पूरी तरह से काम करता है, और यहां तक कि अगर मैं एक शीर्षक जोड़ने, वाई/x-लेबल आदि उदाहरण काम करता है:
fig = plt.figure(
figsize = [3,2],
tight_layout = {'pad': 0}
)
ax = fig.add_subplot(111)
plt.title('title')
ax.set_ylabel('y label')
ax.set_xlabel('x label')
plt.savefig('figure01.pdf')
यह सटीक आकार 3x2 (इंच) के साथ एक पीडीएफ फ़ाइल बनाता है।
मुद्दा रहा है कि जब मैं उदाहरण के लिए अक्ष (आमतौर पर एक किंवदंती बॉक्स) के बाहर एक पाठ बॉक्स जोड़ने के लिए, matplotlib पाठ बॉक्स के लिए जगह बनाने नहीं होती जब खिताब/धुरी को जैसे चाहें यह करता है लेबल। आम तौर पर टेक्स्ट बॉक्स काट दिया जाता है, या सहेजे गए आंकड़े में बिल्कुल नहीं दिखाया जाता है। उदाहरण:
plt.close('all')
fig = plt.figure(
figsize = [3,2],
tight_layout = {'pad': 0}
)
ax = fig.add_subplot(111)
plt.title('title')
ax.set_ylabel('y label')
ax.set_xlabel('x label')
t = ax.text(0.7, 1.1, 'my text here', bbox = dict(boxstyle = 'round'))
plt.savefig('figure02.pdf')
एक समाधान मैं इतना पर कहीं भी पाई savefig आदेश को तर्क bbox_inches = 'tight'
जोड़ने के लिए किया गया था। टेक्स्ट बॉक्स अब शामिल था जैसे मैं चाहता था, लेकिन पीडीएफ अब गलत आकार है। ऐसा लगता है कि Matplotlib सिर्फ आंकड़े को बड़ा बनाता है, अक्षरों के आकार को कम करने के बजाय जैसे शीर्षक और एक्स/वाई-लेबल जोड़ता है।
उदाहरण:
plt.close('all')
fig = plt.figure(
figsize = [3,2],
tight_layout = {'pad': 0}
)
ax = fig.add_subplot(111)
plt.title('title')
ax.set_ylabel('y label')
ax.set_xlabel('x label')
t = ax.text(0.7, 1.1, 'my text here', bbox = dict(boxstyle = 'round'))
plt.savefig('figure03.pdf', bbox_inches = 'tight')
वहाँ इस के लिए किसी भी समाधान है कि बस कुल्हाड़ियों के बाहर एक पौराणिक कथा के साथ ज्यादातर मामलों को शामिल किया गया है (यह आंकड़ा 3.307x2.248 है)?
धन्यवाद, यह शानदार है! क्या आप समझते हैं कि कुछ जगहों पर हार्डकोडेड '72' क्या दिखाई देता है? मुझे लगता है कि यह डिफ़ॉल्ट डीपीआई है, लेकिन मुझे यकीन नहीं है। –
मैंने उत्तर में कुछ स्पष्टीकरण जोड़ा। – ImportanceOfBeingErnest
फिर से धन्यवाद। क्या इस काम को किंवदंती के साथ बनाने का कोई आसान तरीका है? अर्थात। जब अक्ष के बाहर एक किंवदंती रखती है। –