如何獲取 Matplotlib 繪圖中的所有圖例?


若要獲取 matplotlib 繪製中的所有圖例,我們可以利用 get_children() 方法獲取某軸的所有屬性,然後迭代所有屬性。如果某項是圖例的一個例項,則獲取圖例文字。

步驟

  • 設定圖形大小並調整子圖之間的填充以及周圍的填充。

  • 使用 numpy 建立 x 資料點。

  • 建立圖形和一組子圖。

  • 利用 plot() 方法使用不同的標籤和顏色繪製 sin(x)cos(x)

  • 獲取軸的子項並獲取圖例文字。

  • 若要顯示圖形,請使用 show() 方法。

示例

import numpy as np
from matplotlib import pyplot as plt
import matplotlib

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-10, 10, 100)
fig, ax = plt.subplots()

ax.plot(np.sin(x), color='red', lw=7, label="y=sin(x)")
ax.plot(np.cos(x), color='orange', lw=7, label="y=cos(x)")

plt.legend(loc='upper right')

for item in ax.get_children():
   if isinstance(item, matplotlib.legend.Legend):
      print(item.texts)

plt.show()

輸出

更新於: 09-Aug-2021

2K+ 檢視

開啟你的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.