如何从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()