Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencipta Legenda Tunggal untuk Berbilang Subplot Matplotlib?

Bagaimana untuk Mencipta Legenda Tunggal untuk Berbilang Subplot Matplotlib?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 07:56:291021semak imbas

How to Create a Single Legend for Multiple Matplotlib Subplots?

Mencipta Legenda Tunggal untuk Berbilang Subplot Matplotlib

Apabila memplot maklumat yang serupa merentas berbilang subplot menggunakan Matplotlib, ia boleh memberi manfaat untuk mencipta satu legenda yang digunakan untuk semua subplot. Ini memudahkan tafsiran data dengan menyediakan rujukan yang konsisten untuk baris dalam setiap subplot.

Untuk mencapainya, gunakan fungsi get_legend_handles_labels() pada paksi terakhir atau dengan memanggil plt.gca().get_legend_handles_labels(). ) jika menggunakan antara muka pyplot. Fungsi ini mengumpul pemegang dan label legenda yang diperlukan daripada argumen label=.

Untuk mencipta legenda tunggal, panggil fig.legend(pemegang, label, loc='pusat atas'), dengan ara ialah angka yang mengandungi subplot dan loc menentukan lokasi legenda.

Sebagai contoh, jika anda mempunyai grid 3x3 subplot dengan garisan yang sama, kod berikut akan menambah satu legenda di atas semua subplot:

import matplotlib.pyplot as plt
import numpy as np

# Generate data for the subplots
data = np.random.rand(9)

# Create the subplots
fig, axes = plt.subplots(3, 3)

# Plot the data on each subplot
for ax, datum in zip(axes.flatten(), data):
    ax.plot(datum)

# Get the legend handles and labels
handles, labels = plt.gca().get_legend_handles_labels()

# Create the single legend
plt.legend(handles, labels, loc='upper center')

plt.show()

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Legenda Tunggal untuk Berbilang Subplot Matplotlib?. 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