Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Memaparkan Label untuk Kedua-dua Kapak dalam Legenda Plot Twinx()?

Bagaimana untuk Memaparkan Label untuk Kedua-dua Kapak dalam Legenda Plot Twinx()?

Patricia Arquette
Lepaskan: 2024-11-03 07:38:02
asal
861 orang telah melayarinya

How to Display Labels for Both Axes in a Twinx() Plot Legend?

Paksi Kedua dengan twinx(): Menambah pada Legend

Pertimbangkan plot dengan dua paksi-y, dicipta menggunakan twinx(), dengan garisan yang dilabelkan untuk setiap paksi. Walau bagaimanapun, apabila menggunakan legend(), ia hanya memaparkan label untuk satu paksi, tidak termasuk label untuk paksi kedua. Artikel ini bertujuan untuk menyelesaikan isu ini dan membimbing anda untuk menambahkan label yang hilang pada legenda.

Twinx() dan Legends

Dalam contoh yang disediakan, twinx() digunakan untuk mencipta paksi-y kedua (ax2) yang berkongsi paksi-x (masa) yang sama dengan paksi primer (ax). Apabila cuba memaparkan semua label dalam legenda, hanya yang dikaitkan dengan ax (Swdown dan Rn) kelihatan, manakala label untuk ax2 (temp) tiada.

Menambah Label yang Hilang

Untuk memasukkan label yang hilang dalam legenda, terdapat dua pendekatan:

Pendekatan 1: Pelbagai Legenda

Tambah baris berikut untuk mencipta legenda berasingan untuk ax2:

<code class="python">ax2.legend(loc=0)</code>
Salin selepas log masuk

Ini akan memberi anda dua legenda, satu untuk setiap paksi.

Pendekatan 2: Consolidated Legend

Kepada gabungkan semua label menjadi satu legenda, ikuti langkah berikut:

  1. Buat senarai semua objek garis (garisan daripada kedua-dua paksi):

    <code class="python">lns = lns1 + lns2 + lns3</code>
    Salin selepas log masuk
  2. Ekstrak label untuk setiap baris:

    <code class="python">labs = [l.get_label() for l in lns]</code>
    Salin selepas log masuk
  3. Gunakan fungsi legenda untuk menambah semua label pada satu legenda pada kapak:

    <code class="python">ax.legend(lns, labs, loc=0)</code>
    Salin selepas log masuk

Contoh

Kod yang diubah suai berikut menunjukkan cara menambah label temp pada legenda dengan Pendekatan 2:

<code class="python"># ... (code as before)

# Combine lines and labels
lns = lns1 + lns2 + lns3
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc=0)

# ... (remaining code)</code>
Salin selepas log masuk

Ini akan menghasilkan satu legenda yang mengandungi semua label baris: Swdown, Rn dan temp.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Label untuk Kedua-dua Kapak dalam Legenda Plot Twinx()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan