plt.legend(['correlation', 'RMSE', 'IVS Score'])如何让图例横着摆放
时间: 2023-09-25 17:12:16 浏览: 34
可以使用`plt.legend()`中的`loc`参数和`bbox_to_anchor`参数来调整图例的位置和方向。具体实现方法如下:
```python
import matplotlib.pyplot as plt
# 假设有3条曲线
x = [1, 2, 3]
y1 = [1, 2, 3]
y2 = [1.5, 2.5, 3.5]
y3 = [2, 3, 4]
# 绘制3条曲线
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
# 设置图例位置和方向
plt.legend(['correlation', 'RMSE', 'IVS Score'], loc='upper center', bbox_to_anchor=(0.5, -0.1), ncol=3)
# 显示图形
plt.show()
```
其中,`bbox_to_anchor`参数用来设置图例的位置,可以根据需要进行调整。`ncol`参数用来设置图例的列数,这里设置为3,即3条曲线对应3列。通过这两个参数的组合,可以实现横向图例的效果。
相关问题
plt.legend(['correlation', 'RMSE', 'IVS Score'])如何去掉边框
可以使用 `plt.legend(frameon=False, ...)` 来去掉图例边框,其中 `frameon=False` 表示不显示边框。例如:
```python
import matplotlib.pyplot as plt
# 绘制示例图
fig, ax = plt.subplots()
ax.plot([1,2,3],[4,5,6], label='correlation')
ax.plot([1,2,3],[5,6,7], label='RMSE')
ax.plot([1,2,3],[2,3,4], label='IVS Score')
# 设置图例并去掉边框
ax.legend(frameon=False)
plt.show()
```
运行后可以看到,图例边框已经被去掉了。
plt.legend为每个图设置图例
要为每个图设置图例,您可以使用`plt.legend()`函数。首先,您需要在每个图中绘制数据并为其添加标签。然后,您可以在图的最后调用`plt.legend()`函数,它将自动创建一个图例并将其添加到图中。
以下是一个示例代码,演示如何为每个图设置图例:
```python
import matplotlib.pyplot as plt
# 绘制第一个图
plt.plot(x1, y1, label='图例1')
# 添加第二个数据集并标记为'图例2'
plt.plot(x2, y2, label='图例2')
# 添加第三个数据集并标记为'图例3'
plt.plot(x3, y3, label='图例3')
# 添加图例
plt.legend()
# 显示图形
plt.show()
```
在上面的示例中,我们使用`plt.plot()`函数绘制了三个不同的数据集,并为每个数据集添加了一个标签。然后,我们通过调用`plt.legend()`函数来创建和添加图例。最后,通过调用`plt.show()`函数来显示图形。
请注意,`plt.legend()`函数还有很多其他参数可以用来自定义图例的位置、样式等。您可以参考Matplotlib的文档以了解更多信息:[https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.legend.html)