Matplotlib中LaTeX格式致图例文本偏移,子图图例内容被裁剪
图例文本底部裁剪的成因与解决办法
核心成因:字符串语法错误
你代码中第二个子图(ax2)的图例标签存在多余的双引号,导致Matplotlib解析文本时出现异常,进而引发图例文本偏移和底部裁剪。
具体问题出在这段代码:
ax2.plot(input_power, V_minus_pred, color='red', label=fr""""Linear fit: {model_minus.coef_[0]:.3f} $\times V_-$""")
这里的fr""""是错误写法——开头的四个双引号会让Python提前闭合字符串,后续内容被错误解析,导致图例文本的布局计算出现偏差,最终表现为文本在图例框内底部被裁剪。
修复步骤
把ax2的label参数中的多余双引号去掉,修正为:
ax2.plot(input_power, V_minus_pred, color='red', label=fr"Linear fit: {model_minus.coef_[0]:.3f} $\times V_-$")
其他可能的次要因素(若修复后仍有问题)
- 字体行高适配:部分字体的默认行高可能与图例框内边距不匹配,可通过调整图例的
borderpad或labelspacing参数优化,例如ax2.legend(loc='lower right', borderpad=0.5, labelspacing=0.3) - 版本兼容问题:某些旧版Matplotlib在处理普通文本与LaTeX文本混合的图例时,可能存在布局计算bug,建议升级到3.7及以上的稳定版本
内容的提问来源于stack exchange,提问作者Chris Ze Third
相关产品推荐
相关产品推荐

