Data Visualization

Matplotlib किंवदंतियों में महारथ: रेखा चौड़ाई को समायोजित करने के दो तरीके

Spread the love

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

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

set_linewidth() के साथ सीधे लाइन चौड़ाई सेट करना

set_linewidth() विधि व्यक्तिगत लीजेंड लाइनों पर सटीक नियंत्रण प्रदान करती है। यह सीधे लीजेंड के legendHandles में हेरफेर करता है, जो Line2D ऑब्जेक्ट हैं।


import matplotlib.pyplot as plt

# नमूना डेटा
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# प्लॉट बनाएँ
fig, ax = plt.subplots()
line1, = ax.plot(x, y1, label='लाइन 1', linewidth=2)
line2, = ax.plot(x, y2, label='लाइन 2', linewidth=1)

# लीजेंड बनाएँ
legend = ax.legend()

# एक्सेस और संशोधित लाइनविड्थ
legend.legendHandles[0].set_linewidth(4)  # लीजेंड में लाइन 1
legend.legendHandles[1].set_linewidth(3)  # लीजेंड में लाइन 2

# प्लॉट दिखाएँ
plt.show()

यह कोड पहले डेटा प्लॉट करता है, फिर legend.legendHandles के माध्यम से लीजेंड हैंडल तक पहुँचता है। set_linewidth() प्रत्येक लाइन की चौड़ाई को समायोजित करता है। legendHandles[0] पहली लाइन को संदर्भित करता है, और इसी तरह।

संक्षिप्त संशोधन के लिए matplotlib.pyplot.setp() का उपयोग करना

matplotlib.pyplot.setp() एक साथ कई गुणों को संशोधित करने का एक अधिक संक्षिप्त तरीका प्रदान करता है।


import matplotlib.pyplot as plt

# नमूना डेटा (पहले जैसा ही)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# प्लॉट बनाएँ
fig, ax = plt.subplots()
line1, = ax.plot(x, y1, label='लाइन 1', linewidth=2)
line2, = ax.plot(x, y2, label='लाइन 2', linewidth=1)

# लीजेंड बनाएँ
legend = ax.legend()

# setp() का उपयोग करके लाइनविड्थ संशोधित करें
plt.setp(legend.legendHandles, 'linewidth', [4, 3])

# प्लॉट प्रदर्शित करें
plt.show()

plt.setp() सभी हैंडल के लिए linewidth को कुशलतापूर्वक सेट करता है। [4, 3] प्रत्येक लाइन के लिए चौड़ाई निर्दिष्ट करता है, उपस्थिति के क्रम में।

अक्सर पूछे जाने वाले प्रश्न

प्रश्न: अगर मेरे पास दो से अधिक लाइनें हैं तो क्या होगा?

उत्तर: दोनों विधियाँ आसानी से अनुकूलित हो जाती हैं। set_linewidth() के लिए, अनुक्रमण विस्तारित करें। setp() के लिए, सुनिश्चित करें कि लाइनविड्थ सूची लीजेंड हैंडल की संख्या से मेल खाती है।

प्रश्न: क्या मैं अन्य लीजेंड गुणों को बदल सकता हूँ?

उत्तर: हाँ, दोनों विधियाँ रंग, लाइनस्टाइल और मार्कर जैसे गुणों को संशोधित करती हैं। Matplotlib दस्तावेज़ देखें।

प्रश्न: मुझे कौन सी विधि चुननी चाहिए?

उत्तर: set_linewidth() व्यक्तिगत लाइनों के लिए बारीक नियंत्रण प्रदान करता है। सभी लाइनों में एक ही गुण को संशोधित करने के लिए setp() अधिक संक्षिप्त है। अपनी आवश्यकताओं और कोडिंग शैली के आधार पर चुनें।

यह लेख Matplotlib लीजेंड स्पष्टता और दृश्य प्रभाव को बढ़ाने के लिए दो प्रभावी तरीके प्रदान करता है। उन्नत अनुकूलन के लिए Matplotlib दस्तावेज़ देखें।

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

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