python子图共用图例
时间: 2023-08-31 17:02:48 浏览: 229
在Python中,可以通过共用图例的方式将子图添加到同一个图中。在matplotlib库中,可以使用`legend()`函数来创建图例。下面介绍具体的步骤:
1. 首先,需要将图形划分为多个子图,可以使用`subplot()`函数来创建子图。具体来说,通过指定`nrows`和`ncols`参数,可以指定行数和列数,然后使用`plt.subplot()`来选择不同位置的子图。
2. 在每个子图中绘制图形,例如使用`plot()`函数绘制线图。可以通过传递`label`参数来指定每个图形的标签,这些标签将在图例中显示。
3. 在绘制完所有子图后,通过`plt.legend()`函数来创建图例。可以使用`loc`参数来指定图例的位置,例如`loc='best'`表示自动选择最佳位置。
值得注意的是,在添加子图之前,需要调用`plt.figure()`函数来创建一个新的图形。
下面是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
# 创建一个新的图形
plt.figure()
# 创建两个子图,一个在左上角,一个在右上角
plt.subplot(2, 1, 1)
plt.plot([1, 2, 3], [1, 2, 3], label='Line 1')
plt.legend()
plt.subplot(2, 1, 2)
plt.plot([1, 2, 3], [3, 2, 1], label='Line 2')
plt.legend()
# 创建图例并显示
plt.legend(loc='best')
plt.show()
```
在上面的代码中,使用`subplot(2, 1, 1)`创建了一个2行1列的子图,位于第一行第一列的位置。在该子图中绘制了一个线图,并通过`label`参数指定了该图形的标签。然后调用`subplot(2, 1, 2)`创建了位于第二行的子图,并在其中绘制了另一个线图。
最后,调用`plt.legend()`函数创建了一个共用的图例,并将其位置设置为最佳。可以通过`plt.show()`来显示图形。
阅读全文