Matplotlib विज़ुअलाइज़ेशन बनाने के लिए एक शक्तिशाली Python लाइब्रेरी है, लेकिन कभी-कभी डिफ़ॉल्ट लेजेंड प्लेसमेंट आपके प्लॉट को अव्यवस्थित कर सकता है। यह लेख बेहतर पठनीयता के लिए प्लॉट क्षेत्र के बाहर लेजेंड रखने के प्रभावी तरीकों का प्रदर्शन करता है।
विषयवस्तु की तालिका
- लेजेंड प्लेसमेंट के लिए
bbox_to_anchor
का उपयोग करना bbox_extra_artists
औरbbox_inches
के साथ क्रॉप किए गए लेजेंड को रोकना
लेजेंड प्लेसमेंट के लिए bbox_to_anchor
का उपयोग करना
legend()
फ़ंक्शन में bbox_to_anchor
तर्क सटीक लेजेंड पोजिशनिंग प्रदान करता है। यह आकृति निर्देशांक में लेजेंड के निचले-बाएँ कोने को निर्दिष्ट करने वाला एक (x, y) टुपल लेता है। (0,0) निचला-बायाँ है, और (1,1) ऊपरी-दायाँ है। loc
तर्क उस एंकर बिंदु के भीतर प्लेसमेंट को और परिष्कृत करता है।
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots()
ax.plot(x, y1, label='sin(x)')
ax.plot(x, y2, label='cos(x)')
ax.legend(bbox_to_anchor=(1.1, 1), loc='upper left') # (1.1,1) को आवश्यकतानुसार समायोजित करें
ax.set_title('साइन और कोसाइन तरंगें')
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.tight_layout()
plt.show()
यहाँ, bbox_to_anchor=(1.1, 1)
प्लॉट के दाईं ओर (x=1.1) और शीर्ष पर (y=1) लेजेंड को थोड़ा सा रखता है। loc='upper left'
उस एंकर के भीतर लेजेंड को संरेखित करता है। इष्टतम स्थिति के लिए विभिन्न loc
मानों (जैसे, ‘upper right’, ‘lower left’, ‘center’) के साथ प्रयोग करें और (x,y) निर्देशांक को समायोजित करें।
bbox_extra_artists
और bbox_inches
के साथ क्रॉप किए गए लेजेंड को रोकना
bbox_to_anchor
के साथ भी बड़े लेजेंड या तंग आंकड़े क्रॉप किए गए लेजेंड का कारण बन सकते हैं। bbox_extra_artists
और bbox_inches
इसे हल करते हैं। bbox_extra_artists
सहेजने के लिए बाउंडिंग बॉक्स गणना में लेजेंड को शामिल करता है, और bbox_inches='tight'
तंग मार्जिन सुनिश्चित करता है, जिससे क्रॉपिंग रुक जाती है।
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 500) # बड़े लेजेंड के लिए अधिक डेटा
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
fig, ax = plt.subplots()
ax.plot(x, y1, label='sin(x)')
ax.plot(x, y2, label='cos(x)')
ax.plot(x, y3, label='tan(x)')
leg = ax.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
fig.savefig('legend_outside.png', bbox_extra_artists=[leg], bbox_inches='tight')
plt.show()
लेजेंड को leg
में संग्रहीत किया जाता है, फिर savefig
में bbox_extra_artists
में पास किया जाता है। bbox_inches='tight'
सुनिश्चित करता है कि लेजेंड सहित संपूर्ण आकृति सहेजी जाती है। अपनी वांछित फ़ाइल नाम के साथ 'legend_outside.png'
बदलें।
ये तकनीकें Matplotlib में लचीला और प्रभावी लेजेंड प्लेसमेंट को सक्षम करती हैं, जिससे आपके प्लॉट की स्पष्टता और दृश्य अपील बढ़ती है। सही लेआउट प्राप्त करने के लिए विभिन्न मापदंडों के साथ प्रयोग करें।