如何在 Matplotlib 中获取图中所有图例?
matplotlibpythondata visualization
要获取 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()