Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya boleh memaparkan label daripada kedua-dua paksi dalam satu legenda apabila menggunakan `twinx()` dalam Matplotlib?

Bagaimanakah saya boleh memaparkan label daripada kedua-dua paksi dalam satu legenda apabila menggunakan `twinx()` dalam Matplotlib?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 06:16:01470semak imbas

How do I display labels from both axes in a single legend when using `twinx()` in Matplotlib?

Menambahkan Legenda Paksi Sekunder pada Plot Twinx()

Dalam plot dengan dua paksi-y yang dibuat menggunakan twinx(), menambah label pada baris dan memaparkannya dalam legenda boleh mencabar. Pada mulanya, hanya label daripada paksi utama boleh muncul dalam legenda.

Untuk menyelesaikan isu ini, tambahkan legenda untuk paksi kedua menggunakan baris:

ax2.legend(loc=0)

Ini akan mengakibatkan dua legenda berasingan, satu untuk setiap paksi.

Walau bagaimanapun, jika anda mahu semua label pada satu legenda, ikut langkah berikut:

  1. Tentukan kedua-dua paksi dan plot garisan :

    ax = fig.add_subplot(111)
    ax2 = ax.twinx()
    
    lns1 = ax.plot(...)
    lns2 = ax.plot(...)
    lns3 = ax2.plot(...)
  2. Tentukan pemegang dan label legenda:

    lns = lns1 + lns2 + lns3
    labs = [l.get_label() for l in lns]
  3. Tambah legenda menggunakan:

    ax.legend(lns, labs, loc=0)

Pendekatan ini akan memaparkan semua label paksi dalam satu legenda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memaparkan label daripada kedua-dua paksi dalam satu legenda apabila menggunakan `twinx()` dalam 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