matplotlib legend pos
在使用matplotlib绘制图表时,有时需要在图表中添加图例(legend)来说明不同数据系列的含义。而对于图例的位置,matplotlib提供了很多选项,可以根据需要选择合适的位置。本文将详细介绍matplotlib中图例位置的设置方法,并提供相关的示例代码。
默认位置
首先,我们来看一下matplotlib中图例的默认位置。当我们使用plt.legend()
添加图例时,matplotlib会根据图表的布局和数据点的分布自动选择一个适合的位置来放置图例。通常情况下,图例会位于图表的右上角。下面是一个简单的示例代码:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 6]
y2 = [1, 4, 3, 2, 5]
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
plt.legend()
plt.show()
Output:
在上面的示例中,图例会自动放置在右上角。
手动设置位置
如果我们想要手动设置图例的位置,可以使用loc
参数来指定位置。loc
参数可以接受字符串或整数作为输入,其中字符串代表不同的位置,整数代表具体的位置编码。下面是一些示例代码:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [2, 3, 5, 7, 6]
y2 = [1, 4, 3, 2, 5]
# 将图例放置在右下角
plt.legend(loc='lower right')
# 将图例放置在左上角
plt.legend(loc='upper left')
# 将图例放置在中间
plt.legend(loc='center')
# 将图例放置在左下角
plt.legend(loc='lower left')
除了常用位置外,还可以使用整数编码来指定具体的位置。例如,loc=1
表示右上角,loc=2
表示左上角,loc=4
表示右下角,loc=5
表示中心。下面是一些示例代码:
# 将图例放置在右上角
plt.legend(loc=1)
# 将图例放置在左上角
plt.legend(loc=2)
# 将图例放置在右下角
plt.legend(loc=4)
# 将图例放置在中心
plt.legend(loc=5)
边框外
有时候我们希望将图例放置在图表的外部,而不是内部。这时可以使用bbox_to_anchor
参数来设置图例的位置。bbox_to_anchor
参数接受一个二元组作为输入,分别表示横向和纵向的位置。下面是一些示例代码:
# 将图例放置在图表的右侧上方
plt.legend(bbox_to_anchor=(1.2, 1))
# 将图例放置在图表的左侧中间
plt.legend(bbox_to_anchor=(-0.2, 0.5))
# 将图例放置在图表的底部中心
plt.legend(bbox_to_anchor=(0.5, -0.1))
自定义位置
除了上述提到的方法外,还可以使用loc
参数的方式来自定义图例的位置。通过指定一个二元组来设定坐标,就可以将图例放置在任意位置。下面是一个示例代码:
# 将图例放置在坐标(1, 1)的位置
plt.legend(loc=(1, 1))
结语
通过本文的介绍,相信大家对matplotlib中图例位置的设置有了更深入的了解。根据自己的需要,选择合适的方法来设置图例的位置,可以让图表看起来更加清晰和美观。