plt.subplots()共享legend
时间: 2023-08-28 14:08:22 浏览: 115
在使用plt.subplots()创建子图布局时,可以通过设置参数sharex和sharey来共享x轴和y轴的刻度。但是,plt.subplots()函数本身并不支持共享图例。如果需要共享图例,可以使用其他方法,例如手动创建一个图例对象,并将其添加到每个子图中。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
# 创建一个2x2的子图布局
fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(8, 8))
# 绘制第一个子图
axs\[0, 0\].plot(x, y1, label='sin(x)')
axs\[0, 0\].set_title('sin(x)')
# 绘制第二个子图
axs\[0, 1\].plot(x, y2, label='cos(x)')
axs\[0, 1\].set_title('cos(x)')
# 绘制第三个子图
axs\[1, 0\].plot(x, y3, label='tan(x)')
axs\[1, 0\].set_title('tan(x)')
# 绘制第四个子图
axs\[1, 1\].plot(x, y4, label='exp(x)')
axs\[1, 1\].set_title('exp(x)')
# 在每个子图中添加图例
for ax in axs.flat:
ax.legend()
# 设置整个Figure的标题
fig.suptitle('Four Subplots')
# 显示图形
plt.show()
```
在上述代码中,我们使用循环遍历每个子图,并在每个子图中调用ax.legend()方法来添加图例。这样可以实现共享图例的效果。
#### 引用[.reference_title]
- *1* *3* [Matplotlib学习之subplots函数](https://blog.csdn.net/m0_46197393/article/details/107103661)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item]
- *2* [plt.subplots用法](https://blog.csdn.net/qq_18668137/article/details/129816929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文