python如何同时让多个图的图例显示
时间: 2024-10-16 08:06:18 浏览: 30
Python 多个图同时在不同窗口显示的实现方法
在Python中,如果你想要让多个图共享一个图例,而不是每个图都有自己的独立图例,你可以按照以下步骤操作:
1. **绘制所有子图**[^1]:
```python
fig, axs = plt.subplots(nrows=2, ncols=2) # 创建一个4x4网格,替换nrows和ncols以调整窗口大小
df1.plot(ax=axs[0, 0], title="Subplot 1", legend=True)
df2.plot(ax=axs[0, 1], title="Subplot 2")
df3.plot(ax=axs[1, 0], title="Subplot 3")
df4.plot(ax=axs[1, 1], title="Subplot 4")
```
2. **统一图例位置**:
在所有子图绘制完成后,使用`legend()`函数在一个共享的位置添加图例:
```python
# 创建一个单独的轴来放置图例
leg = fig.add_subplot(2, 2, 1, frameon=False) # 或者其他合适的坐标
leg.set_visible(False) # 初始时隐藏
# 调整布局,确保所有子图都在同一坐标系内
fig.tight_layout()
# 最后,显示图例
fig.legend(loc='best', handles=axs.flatten().get_lines(), bbox_to_anchor=(0.5, -0.1), ncol=2) # 可以调整bbox_to_anchor参数以定位图例
plt.show()
```
这样,所有子图就会共享同一个图例,并且可以根据需要调整图例的位置。
阅读全文