Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menambah Legenda secara Manual dalam Matplotlib dengan Warna dan Label yang Berbeza?

Bagaimana untuk Menambah Legenda secara Manual dalam Matplotlib dengan Warna dan Label yang Berbeza?

Susan Sarandon
Susan Sarandonasal
2024-10-22 15:09:03478semak imbas

How to Manually Add Legends in Matplotlib with Distinct Colors and Labels?

Mencipta Legenda secara Manual dalam Matplotlib

Apabila bekerja dengan set data yang besar dalam matplotlib, menambah item secara manual pada legenda dengan warna dan label yang berbeza boleh menjadi teknik yang berguna. Ini menghalang pendua yang boleh timbul daripada memasukkan data secara automatik ke plot.

Pendekatan Asal

Pendekatan asal cuba menggunakan kod berikut:

ax2.legend(self.labels, colorList[:len(self.labels)])
plt.legend()

di mana self.labels ialah bilangan label legenda yang diingini dan colorList ialah subset warna yang digunakan dalam plot. Walau bagaimanapun, kaedah ini tidak menghasilkan entri dalam legenda.

Penyelesaian

Untuk mencipta legenda secara manual, Panduan Legenda dalam dokumentasi matplotlib menyediakan penyelesaian. Ia melibatkan penciptaan artis khas, dipanggil Patch, yang boleh digunakan sebagai pemegang dalam legenda.

import matplotlib.patches as mpatches
import matplotlib.pyplot as plt

# Create a red patch
red_patch = mpatches.Patch(color='red', label='The red data')

Patch ini kini mewakili data merah dan boleh ditambah terus pada legenda.

plt.legend(handles=[red_patch])

Menambah Berbilang Tampalan

Untuk menambah berbilang warna dan label, teknik yang sama boleh digunakan dengan mencipta tampung tambahan.

blue_patch = mpatches.Patch(color='blue', label='The blue data')
plt.legend(handles=[red_patch, blue_patch])

Ini akan menghasilkan legenda dengan dua entri, satu untuk setiap tampung.

Atas ialah kandungan terperinci Bagaimana untuk Menambah Legenda secara Manual dalam Matplotlib dengan Warna dan Label yang Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn