首頁  >  文章  >  後端開發  >  在 Matplotlib 中使用 `twinx()` 時,如何在單一圖例中顯示兩個軸的標籤?

在 Matplotlib 中使用 `twinx()` 時,如何在單一圖例中顯示兩個軸的標籤?

Linda Hamilton
Linda Hamilton原創
2024-11-01 06:16:01470瀏覽

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

向Twinx() 圖加入輔助軸圖例

在使用twinx() 建立的具有兩個y 軸的圖中,加入為線條添加標籤並在圖例中顯示它們可能具有挑戰性。最初,只有主軸上的標籤可能會出現在圖例中。

要解決此問題,請使用以下行為輔助軸添加圖例:

ax2.legend(loc=0)

這將導致兩個單獨的圖例,每個軸一個。

但是,如果您希望單一圖例上的所有標籤,請按照以下步驟操作:

  1. 定義兩個軸並繪製線條:

    ax = fig.add_subplot(111)
    ax2 = ax.twinx()
    
    lns1 = ax.plot(...)
    lns2 = ax.plot(...)
    lns3 = ax2.plot(...)
  2. 定義圖例句柄與標籤:

    lns = lns1 + lns2 + lns3
    labs = [l.get_label() for l in lns]
  3. 使用下列指令新增圖例:

    ax.legend(lns, labs, loc=0)
  4. 使用下列指令新增圖例:

此方法將在單一圖例中顯示所有軸標籤。

以上是在 Matplotlib 中使用 `twinx()` 時,如何在單一圖例中顯示兩個軸的標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn