plt.legend图例分为两行
时间: 2023-08-18 13:13:34 浏览: 411
您可以使用`ncol`参数来设置图例的列数,从而实现将图例分为两行。下面是一个示例代码:
```python
import matplotlib.pyplot as plt
# 创建一个示例图形
x = [1, 2, 3]
y1 = [1, 2, 3]
y2 = [4, 5, 6]
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
# 设置图例
plt.legend(ncol=2)
# 显示图形
plt.show()
```
在这个示例中,`ncol=2`将图例分为两列。您可以根据需要调整列数。
相关问题
plt.legend图例分为两行对齐
要将图例分为两行并对齐,您可以使用`ncol`参数来指定图例的列数,然后使用`bbox_to_anchor`参数来调整图例的位置。以下是一种方法:
```python
import matplotlib.pyplot as plt
# 创建示例数据
x = [1, 2, 3]
y1 = [2, 4, 6]
y2 = [1, 3, 5]
# 绘制图形
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
# 设置图例分为两行对齐
plt.legend(ncol=2, bbox_to_anchor=(0.5, -0.1))
# 显示图形
plt.show()
```
在上面的示例中,`ncol=2`将图例分为两列,而`bbox_to_anchor=(0.5, -0.1)`将图例放置在图形底部中央的位置。您可以根据需要调整`bbox_to_anchor`的参数来微调图例的位置。
plt.subplot(1, 2, 2) plt.plot(train_loss, label='Train Loss') plt.xlabel('Epochs') plt.ylabel('Loss') plt.title('Training Loss') plt.legend()
这段代码使用了 `plt.subplot` 函数来创建一个包含两个子图的图表,并在第二个子图中绘制了训练损失值图。
解释每一行代码的作用如下:
```python
plt.subplot(1, 2, 2)
```
这行代码指定了当前图表为一个包含 1 行 2 列的图表,并将当前的绘图位置设置为第二个子图。
```python
plt.plot(train_loss, label='Train Loss')
```
这行代码使用 `plt.plot` 函数绘制训练损失值图,其中 `train_loss` 是损失值的数据列表,`label` 参数用于给图例指定标签。
```python
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.title('Training Loss')
```
这几行代码分别设置 x 轴和 y 轴的标签,以及子图的标题。
```python
plt.legend()
```
这行代码显示图例,其中包含了之前设置的标签。
请注意,这段代码只绘制了第二个子图,如果要同时绘制两个子图,需要在前面添加类似的代码来绘制第一个子图。
阅读全文