"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन में विस्तारित लीजेंड को फिट करने के लिए फिगर बॉक्स का गतिशील आकार कैसे बदलें?

पायथन में विस्तारित लीजेंड को फिट करने के लिए फिगर बॉक्स का गतिशील आकार कैसे बदलें?

2024-11-02 को प्रकाशित
ब्राउज़ करें:810

How to Dynamically Resize Figure Box to Fit Expanding Legend in Python?

विस्तारित लीजेंड को समायोजित करने के लिए चित्र बॉक्स का आकार बदलना

मैटप्लोटलिब में लीजेंड को अक्ष के बाहर ले जाते समय, एक चुनौती का सामना करना पड़ता है जहां लीजेंड फिगर बॉक्स से काटा जा सकता है। यह समस्या तब उत्पन्न होती है जब कथा कथानक क्षेत्र की सीमा से परे विस्तारित होती है। परंपरागत रूप से, बड़े लेजेंड को समायोजित करने के लिए अक्ष को समायोजित करना अनुशंसित समाधान रहा है, लेकिन इसके परिणामस्वरूप डेटा का आकार कम हो सकता है, जिससे इसकी व्याख्या करना अधिक कठिन हो जाएगा।

चित्रा बॉक्स का गतिशील आकार बदलना

इस समस्या को हल करने के लिए, प्रस्तावित समाधान डेटा आकार में बदलाव किए बिना विस्तारित किंवदंती को समायोजित करने के लिए गतिशील रूप से आकृति बॉक्स का आकार बदलना है। यह व्यवहार R और LaTeX में देखा गया है लेकिन Python में तुरंत स्पष्ट नहीं था।

चित्रा बॉक्स को गतिशील रूप से आकार देने के लिए कोड

इस गतिशील आकार को पूरा करने के लिए सुझाया गया कोड इस प्रकार है इस प्रकार है:

fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')

इस कोड में, lgd लेजेंड ऑब्जेक्ट का प्रतिनिधित्व करता है। bbox_extra_artists=(lgd,) को निर्दिष्ट करके, हम सेवफिग को लीजेंड में फिट होने के लिए फिगर बॉक्स को गतिशील रूप से समायोजित करने की अनुमति देते हैं।

कॉम्प्लेक्स लीजेंड के साथ उदाहरण

यहां एक उदाहरण दिया गया है एक जटिल कथा:

import matplotlib.pyplot as plt
import numpy as np

# Create figure and subplot
fig = plt.figure(1)
ax = fig.add_subplot(111)

# Plot data and create legend
ax.plot(x, np.sin(x), label='Sine')
ax.plot(x, np.cos(x), label='Cosine')
ax.plot(x, np.arctan(x), label='Inverse tan')
lgd = ax.legend(loc='upper center', bbox_to_anchor=(0.5,-0.1))

# Add arbitrary text for testing
text = ax.text(-0.2,1.05, "Aribitrary text", transform=ax.transAxes)

# Set title and grid
ax.set_title("Trigonometry")
ax.grid('on')

# Save figure with dynamic resizing
fig.savefig('samplefigure', bbox_extra_artists=(lgd,text), bbox_inches='tight')

यह कोड एक जटिल किंवदंती के साथ एक प्लॉट उत्पन्न करता है जो अक्ष क्षेत्र से परे तक फैला हुआ है। Bbox_extra_artists पैरामीटर लीजेंड को समायोजित करने के लिए फिगर बॉक्स को समायोजित करता है, जिसके परिणामस्वरूप संपूर्ण लीजेंड प्रदर्शित होता है। सरलीकृत। निम्नलिखित आदेश अब पर्याप्त है:

plt.savefig('x.png', bbox_inches='tight')

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729223538 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3