📅  最后修改于: 2023-12-03 15:18:36.562000             🧑  作者: Mango
在 matplotlib 库中,我们可以使用 plt.legend 函数来添加图例到图表中。
我们可以使用 loc 参数来指定图例的位置,该参数接受以下字符串值:
如果选择了绝对坐标,则坐标点的值表示 X 和 Y 坐标的偏移量,同时使用 0 和 1 之间的小数值归一化。
下面是一些示例代码,展示如何将图例放置在不同的位置:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], label="line 1")
plt.plot([3, 2, 1], label="line 2")
plt.legend(loc='best')
plt.show()
plt.plot([1, 2, 3], label="line 1")
plt.plot([3, 2, 1], label="line 2")
plt.legend(loc='upper right')
plt.show()
plt.plot([1, 2, 3], label="line 1")
plt.plot([3, 2, 1], label="line 2")
plt.legend(loc=(0.0, 1.0))
plt.show()
如果默认的图例位置不满足我们的需要,我们可以通过调整 loc 参数来更改位置。但是,有时候我们可能需要更进一步地调整图例的位置。
在这种情况下,我们可以使用 plt.gca 函数来获取当前的坐标轴(Axis)对象,然后使用该对象的 set_position 方法来更改图例的位置。
下面是示例代码,展示如何将图例放置在指定的位置:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], label="line 1")
plt.plot([3, 2, 1], label="line 2")
plt.legend()
# 获取当前的坐标轴对象
ax = plt.gca()
# 将图例放置在坐标轴的右下侧
ax.legend(loc='lower right', bbox_to_anchor=(1.0, 0.0))
# 缩小图表留下足够的空间用于显示图例
plt.subplots_adjust(right=0.8)
plt.show()
在上面的代码中,我们首先使用 plt.legend 函数添加了一个默认的图例。然后,我们使用 plt.gca 函数获取当前的坐标轴对象。接下来,我们使用该对象的 set_position 方法来将图例放置在坐标轴的右下侧。最后,我们使用 plt.subplots_adjust 函数来缩小图表的宽度,以便为图例留下足够的空间。
总之,通过改变 loc 参数或 plt.gca 和 set_position 方法,我们可以非常灵活地更改 matplotlib 图表中图例的位置。