Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menambah Label pada Legenda dalam Plot dengan Kapak Sekunder Menggunakan twinx()?
Menambah Label pada Legenda dalam Plot dengan Kapak Sekunder Menggunakan twinx()
Memiliki berbilang paksi dalam satu plot boleh berguna untuk menggambarkan data daripada sumber yang berbeza atau dengan unit yang berbeza. Apabila menggunakan fungsi twinx() untuk mencipta paksi sekunder, anda mungkin perlu menambah label pada garisan yang diplot pada paksi sekunder dan memasukkannya ke dalam legenda.
Untuk mencapai ini, anda boleh sama ada menambah legenda berasingan untuk paksi sekunder menggunakan ax2.legend(loc=0). Walau bagaimanapun, pendekatan ini menghasilkan dua legenda yang berasingan.
Untuk paparan yang lebih padu, semua label boleh ditambahkan pada satu legenda menggunakan langkah berikut:
<code class="python">import numpy as np import matplotlib.pyplot as plt from matplotlib import rc time = np.arange(10) temp = np.random.random(10)*30 Swdown = np.random.random(10)*100-10 Rn = np.random.random(10)*100-10 fig = plt.figure() ax = fig.add_subplot(111) lns1 = ax.plot(time, Swdown, '-', label = 'Swdown') lns2 = ax.plot(time, Rn, '-', label = 'Rn') ax2 = ax.twinx() lns3 = ax2.plot(time, temp, '-r', label = 'temp') # Add all lines and labels to a single legend lns = lns1+lns2+lns3 labs = [l.get_label() for l in lns] ax.legend(lns, labs, loc=0) ax.grid() ax.set_xlabel("Time (h)") ax.set_ylabel(r"Radiation ($MJ\,m^{-2}\,d^{-1}$)") ax2.set_ylabel(r"Temperature ($^\circ$C)") ax2.set_ylim(0, 35) ax.set_ylim(-20,100) plt.show()</code>
Kod ini akan menghasilkan satu legenda yang merangkumi semua label daripada paksi primer dan sekunder.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Label pada Legenda dalam Plot dengan Kapak Sekunder Menggunakan twinx()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!