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

Matplotlib导出多折线图时外置图例被截断问题求助

问题原因

你将图例通过bbox_to_anchor放置在画布绘图区域外时,matplotlib的savefig方法默认仅导出绘图区域范围内的内容,超出边界的图例就会被截断。

可行修复方案

方案1(最简便,推荐)

在savefig方法中添加bbox_inches='tight'参数,会自动计算并拓展画布边界,将所有超出绘图区域的元素(如外置图例)全部包含在导出的图片中。
修改对应代码行即可:

plt.savefig('Figure.jpg',dpi=300, bbox_inches='tight')

方案2 手动预留右侧空白

在调用savefig前添加subplots_adjust方法,手动缩小绘图区域的右边界,给右侧图例预留足够空间:

plt.legend(bbox_to_anchor=(1.20, 0.6),loc='best')
# 新增以下行,right参数可根据实际显示效果调整
plt.subplots_adjust(right=0.78)

plt.savefig('Figure.jpg',dpi=300)

方案3 启用自动布局

创建画布时开启constrained_layout参数,会自动调整绘图区域、坐标轴标签、图例等所有元素的位置,避免出现元素超出边界被截断的问题:
修改画布创建代码行即可:

plt.figure(figsize=(7,5), constrained_layout=True)

内容的提问来源于stack exchange,提问作者Kanchon Gharami

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:06:04