Cara memperbaikinya dengan python: tidak ditemukan pegangan dengan label untuk dimasukkan ke dalam legenda


Satu peringatan yang mungkin Anda temui saat menggunakan matplotlib adalah:

 No handles with labels found to put in legend.

Peringatan ini biasanya muncul karena salah satu dari dua alasan berikut:

1. Anda gagal membuat label untuk data plot.

2. Anda mencoba membuat legenda sebelum membuat plot.

Contoh berikut menunjukkan cara menghindari peringatan ini di kedua skenario.

Contoh 1: Anda gagal membuat label untuk data plot.

Misalkan kita mencoba menggunakan kode berikut untuk membuat diagram garis di matplotlib dengan legenda dan label:

 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 membuat plot garis, tetapi kami menerima peringatan No handles with labels found to put in Legend .

Untuk menghindari peringatan ini, kita harus menggunakan argumen label untuk memberikan label pada setiap baris dalam plot:

 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 ()

Perhatikan bahwa legenda dibuat dengan label dan kali ini kami tidak mendapatkan peringatan apa pun.

Contoh 2: Anda mencoba membuat legenda sebelum membuat plot.

Misalkan kita mencoba menggunakan kode berikut untuk membuat diagram garis di matplotlib dengan legenda dan label:

 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 membuat plot garis, tetapi kami menerima peringatan No handles with labels found to put in Legend .

Untuk menghindari peringatan ini, kita perlu menggunakan plt.legend() setelah menambahkan baris ke plot:

 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 ()

Legenda dibuat dengan label dan kali ini kami tidak menerima peringatan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:

Cara Memperbaiki KeyError di Pandas
Cara Memperbaiki: ValueError: Tidak dapat mengubah float NaN menjadi int
Cara Memperbaiki: ValueError: Operan tidak dapat disiarkan dengan bentuk

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *