You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Matplotlib中调整图例位置?将图例移至标题下方绘图区内

在Matplotlib中将图例移至标题正下方(绘图区域内)

要把图例放在标题正下方且位于绘图区域内,你可以通过plt.legend()的loc和bbox_to_anchor参数精确定位:

  • loc='upper center' 指定图例的对齐基准为顶部中心
  • bbox_to_anchor=(0.5, 0.95) 设定图例的位置坐标(相对于绘图区域的归一化坐标,(0.5,0.95)表示水平居中,垂直方向靠近顶部但在标题下方)

同时可调整标题的内边距,避免图例与标题重叠,使用plt.title()的pad参数增加下方间距。

修改后的代码如下:

import matplotlib.pyplot as plt

plt.plot([1, 2], [3, 4], color='r', label="Apple")
plt.plot([3, 4], [5, 6], color='g', label="Pear")
# 增加标题下方内边距,避免和图例重叠
plt.title("Total Profit Trend by Month", pad=20)
# 定位图例到标题正下方、绘图区域内
plt.legend(loc='upper center', bbox_to_anchor=(0.5, 0.92))
plt.show()

关键参数说明:

  • bbox_to_anchor 的值为归一化坐标,范围从(0,0)(左下角)到(1,1)(右上角)
  • 可微调bbox_to_anchor的第二个数值(y轴坐标),比如改成0.9或0.93,调整图例与标题的间距
  • 若图例仍与标题重叠,增大title的pad参数值即可

内容的提问来源于stack exchange,提问作者Mike Zhao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 06:45:31