使用twinx() 在具有輔助軸的圖中向圖例添加標籤
在單一圖中具有多個軸對於可視化非常有用來自不同來源或不同單位的資料。使用 twinx() 函數建立輔助軸時,可能需要在輔助軸上繪製的線條新增標籤並將其包含在圖例中。
要實現此目的,您可以新增使用 ax2.legend(loc=0) 為輔助軸單獨的圖例。但是,這種方法會產生兩個單獨的圖例。
為了更一致的顯示,可以使用以下步驟將所有標籤新增至單一圖例:
<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>
此程式碼將產生一個圖例,其中包含主軸和輔助軸的所有標籤。
以上是如何使用 twinx() 將標籤新增至具有輔助軸的圖中的圖例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!