如何在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
相关产品推荐
相关产品推荐

