matplotlib多子图设置legend
时间: 2023-07-12 11:13:37 浏览: 297
python matplotlib实现将图例放在图外
在 Matplotlib 中,可以使用 `plt.legend()` 方法为图形添加图例。对于多子图的情况,可以使用 `fig.legend()` 方法在整个图形上添加一个全局图例,或者在每个子图上分别添加局部图例。
以下是一个简单的例子,展示了如何在多个子图上添加局部图例:
```python
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]
# 创建子图
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
# 在第一个子图上绘制折线图,并添加图例
axs[0].plot(x, y1, label='y1')
axs[0].plot(x, y2, label='y2')
axs[0].legend()
# 在第二个子图上绘制折线图,并添加图例
axs[1].plot(x, y1, label='y1')
axs[1].plot(x, y2, label='y2')
axs[1].legend()
# 显示图形
plt.show()
```
在上面的代码中,我们创建了一个包含两个子图的图形,并在每个子图上绘制了两条折线。然后使用 `ax.legend()` 方法在每个子图上添加局部图例,以便表示不同的线条。如果需要在整个图形上添加全局图例,可以使用 `fig.legend()` 方法。
你可以根据自己的需求,修改图例的位置、标签、字体大小等属性。
阅读全文