python matplotlib实现将图例放在图外
在使用matplotlib进行数据可视化时,图例是非常重要的组成部分。通常情况下,图例会默认显示在绘图的区域内,但有时我们希望将图例放在绘图区域外,以便更好地展示数据。本文将介绍如何使用Python的matplotlib库将图例放在图外。
1. 创建一个简单的图表
首先,让我们创建一个简单的图表来演示如何将图例放在图外。假设我们有一些样本数据,要绘制它们的散点图。以下是一个示例代码:
import numpy as np
import matplotlib.pyplot as plt
# 生成样本数据
x = np.random.rand(100)
y = np.random.rand(100)
# 绘制散点图
plt.scatter(x, y, label='Samples')
# 显示图例
plt.legend()
# 显示图表
plt.show()
运行上述代码,将会得到一个包含散点图的窗口。图例默认位于绘图区域内,以便于观察数据。
2. 将图例放在图外
现在我们来看看如何将图例放在图外。在matplotlib中,我们可以使用legend函数的loc参数来指定图例的位置。loc参数接受一个字符串或整数,用于指定图例的位置。
以下是一些常用的图例位置的值:
'best':选择最佳位置,通常位于图表的右上角
0:不显示图例
1:图例显示在图表的右上角
2:图例显示在图表的左上角
3:图例显示在图表的左下角
4:图例显示在图表的右下角
5:图例显示在右中位置
6:图例显示在左中位置
7:图例显示在下中位置
对于将图例放在图外的需求,我们可以选择7,将图例放在图表的下中位置。修改代码如下:
import numpy as np
import matplotlib.pyplot as plt
# 生成样本数据
x = np.random.rand(100)
y = np.random.rand(100)
# 绘制散点图
plt.scatter(x, y, label='Samples')
# 显示图例并将图例放在图外
plt.legend(loc=7, bbox_to_anchor=(0.5, -0.15), ncol=2)
# 显示图表
plt.show()
在上述代码中,我们通过设置legend函数的loc参数为7将图例放在图表的下中位置。另外,我们使用bbox_to_anchor参数来进一步控制图例的位置,其中(0.5, -0.15)表示图例的x和y坐标,ncol参数表示图例的列数。
运行修改后的代码,我们会发现图例已经被放置在图表下方的中间位置,这样可以更好地展示数据。
总结
本文介绍了如何使用Python的matplotlib库将图例放在图外。通过使用legend函数的loc参数,我们可以轻松地指定图例的位置。通过进一步设置bbox_to_anchor参数,我们可以进一步调整图例的位置和布局。以上的示例代码演示了将图例放在图表下方的中间位置。你也可以根据需要来调整图例的位置。