使用twinx() 的輔助軸:加到圖例
考慮使用twinx() 建立的具有兩個y 軸的圖,其中為每個軸標記的線。然而,在使用 legend() 時,它僅顯示一個軸的標籤,不包括第二個軸的標籤。本文旨在解決此問題並指導您在圖例中添加缺少的標籤。
Twinx() 和圖例
在提供的範例中,twinx()用於建立與主軸(ax) 共用相同x 軸(時間)的第二個y 軸(ax2)。嘗試顯示圖例中的所有標籤時,只有與 ax 相關的標籤(Swdown 和 Rn)可見,而 ax2 (temp) 的標籤則不存在。
新增缺少的標籤
要在圖例中包含缺少的標籤,有兩種方法:
方法1:多個圖例
新增下列行以建立ax2 的單獨圖例:
<code class="python">ax2.legend(loc=0)</code>
這將為您提供兩個圖例,每個軸一個。
方法2:合併圖例
至將所有標籤組合成一個圖例,請依照下列步驟操作:
建立所有線條物件(來自兩個軸的線條)的清單:
<code class="python">lns = lns1 + lns2 + lns3</code>
提取每行的標籤:
<code class="python">labs = [l.get_label() for l in lns]</code>
使用圖例函數將所有標籤加入ax 上的單一圖例中:
<code class="python">ax.legend(lns, labs, loc=0)</code>
範例
以下修改後的程式碼示範如何使用方法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>
這將產生一個包含所有線路標籤的圖例:Swdown、Rn 和temp。
以上是如何在 Twinx() 繪圖圖例中顯示兩個軸的標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!