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

Matplotlib中循环生成多位数变量上标问题求助

解决Matplotlib图例核反应式上标格式问题

问题出在LaTeX数学环境的语法上:当需要将多个字符设为上标时,必须用大括号{}把这些字符包裹起来。你的代码中$^{isot}$会被解析为$^161$(以161为例),LaTeX只会将第一个字符1设为上标,剩下的61保持正常格式。

修改方法很简单,在f-string中给isot变量额外添加一层转义的大括号,确保整个数字被包裹在上标范围内:

fig, ax = plt.subplots()
for isot, th_cs in zip(ho_isots, th_cs_holmium):
    # 给isot添加双层大括号转义,确保LaTeX将整个数字识别为上标内容
    ax.plot(ep_thcs, th_cs, linewidth=2, label=f'$^{{nat}}$Dy(p,x)$^{{{isot}}}$Ho')
# 显示图例
ax.legend()
plt.show()

这样处理后,isot的整数值会被完整包裹在{}中,LaTeX会将整个数字渲染为上标,最终得到你期望的ⁿᵃᵗDy(p,x)¹⁶¹Ho格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:35:44