Data Visualization

Matplotlib में Legend का बेहतरीन उपयोग

Spread the love

Matplotlib विज़ुअलाइज़ेशन बनाने के लिए एक शक्तिशाली Python लाइब्रेरी है, लेकिन कभी-कभी डिफ़ॉल्ट लेजेंड प्लेसमेंट आपके प्लॉट को अव्यवस्थित कर सकता है। यह लेख बेहतर पठनीयता के लिए प्लॉट क्षेत्र के बाहर लेजेंड रखने के प्रभावी तरीकों का प्रदर्शन करता है।

विषयवस्तु की तालिका

लेजेंड प्लेसमेंट के लिए 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 में लचीला और प्रभावी लेजेंड प्लेसमेंट को सक्षम करती हैं, जिससे आपके प्लॉट की स्पष्टता और दृश्य अपील बढ़ती है। सही लेआउट प्राप्त करने के लिए विभिन्न मापदंडों के साथ प्रयोग करें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *