如何获取 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+ 查看

开启你的 职业生涯

完成课程认证

开始
广告