पायथन में कैसे ठीक करें: लेजेंड में डालने के लिए लेबल वाला कोई हैंडल नहीं मिला


Matplotlib का उपयोग करते समय आपको एक चेतावनी का सामना करना पड़ सकता है:

 No handles with labels found to put in legend.

यह चेतावनी आमतौर पर दो कारणों में से एक के लिए होती है:

1. आप प्लॉट डेटा के लिए लेबल बनाने में विफल रहे।

2. आपने कथानक बनाने से पहले एक किंवदंती बनाने का प्रयास किया।

निम्नलिखित उदाहरण दिखाते हैं कि दोनों परिदृश्यों में इस चेतावनी से कैसे बचा जाए।

उदाहरण 1: आप प्लॉट डेटा के लिए लेबल बनाने में विफल रहे।

मान लीजिए कि हम एक किंवदंती और लेबल के साथ matplotlib में एक लाइन चार्ट बनाने के लिए निम्नलिखित कोड का उपयोग करने का प्रयास कर रहे हैं:

 import matplotlib. pyplot as plt
import pandas as pd

#define data values
df = pd. DataFrame ({' x ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' y ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' z ': [11, 8, 10, 6, 6, 5, 9, 12]})

#add multiple lines to matplotlib plot
plt. plot (df[' x '], color=' green ')
plt. plot (df[' y '], color=' blue ')
plt. plot (df[' z '], color=' purple ')

#attempt to add legend to plot
plt. legend ()

No handles with labels found to put in legend.

Matplotlib लाइन प्लॉट बनाता है, लेकिन हमें चेतावनी मिलती है कि लेजेंड में डालने के लिए लेबल वाले कोई हैंडल नहीं मिले

इस चेतावनी से बचने के लिए, हमें प्लॉट में प्रत्येक पंक्ति के लिए एक लेबल प्रदान करने के लिए लेबल तर्क का उपयोग करना चाहिए:

 import matplotlib. pyplot as plt
import pandas as pd

#define data values
df = pd. DataFrame ({' x ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' y ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' z ': [11, 8, 10, 6, 6, 5, 9, 12]})

#add multiple lines to matplotlib plot
plt. plot (df[' x '], label=' x ', color=' green ')
plt. plot (df[' y '], label=' y ', color=' blue ')
plt. plot (df[' z '], label=' z ', color=' purple ')

#attempt to add legend to plot
plt. legend ()

ध्यान दें कि लेजेंड लेबल के साथ बनाया जाता है और इस बार हमें कोई चेतावनी नहीं मिलती है।

उदाहरण 2: आपने कथानक बनाने से पहले एक किंवदंती बनाने का प्रयास किया।

मान लीजिए कि हम एक किंवदंती और लेबल के साथ matplotlib में एक लाइन चार्ट बनाने के लिए निम्नलिखित कोड का उपयोग करने का प्रयास कर रहे हैं:

 import matplotlib. pyplot as plt
import pandas as pd

#define data values
df = pd. DataFrame ({' x ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' y ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' z ': [11, 8, 10, 6, 6, 5, 9, 12]})

#attempt to add legend to plot
plt. legend ()

#add multiple lines to matplotlib plot
plt. plot (df[' x '], label=' x ', color=' green ')
plt. plot (df[' y '], label=' y ', color=' blue ')
plt. plot (df[' z '], label=' z ', color=' purple ')

No handles with labels found to put in legend.

Matplotlib लाइन प्लॉट बनाता है, लेकिन हमें चेतावनी मिलती है कि लेजेंड में डालने के लिए लेबल वाले कोई हैंडल नहीं मिले

इस चेतावनी से बचने के लिए, हमें कथानक में पंक्तियाँ जोड़ने के बाद plt.legend() का उपयोग करने की आवश्यकता है:

 import matplotlib. pyplot as plt
import pandas as pd

#define data values
df = pd. DataFrame ({' x ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' y ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' z ': [11, 8, 10, 6, 6, 5, 9, 12]})

#add multiple lines to matplotlib plot
plt. plot (df[' x '], label=' x ', color=' green ')
plt. plot (df[' y '], label=' y ', color=' blue ')
plt. plot (df[' z '], label=' z ', color=' purple ')

#attempt to add legend to plot
plt. legend ()

लेबलों के साथ एक किंवदंती बनाई जाती है और इस बार हमें कोई चेतावनी नहीं मिलती है।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य त्रुटियों को कैसे ठीक किया जाए:

पंडों में KeyError को कैसे ठीक करें
कैसे ठीक करें: वैल्यूएरर: फ्लोट NaN को int में बदलने में असमर्थ
कैसे ठीक करें: वैल्यूएरर: ऑपरेंड को आकृतियों के साथ प्रसारित नहीं किया जा सका

एक टिप्पणी जोड़ने

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