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

如何在Matplotlib的ax.text中实现逗号的上标/下标显示?

在Matplotlib的ax.text中实现上下标逗号的方法

方法1:使用LaTeX语法(推荐,兼容性最好)

Matplotlib支持内嵌LaTeX格式的文本,直接用$包裹公式,通过^{内容}定义上标、_{内容}定义下标,逗号直接放入即可,完全不会出现字符显示异常的问题。

示例代码:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
# 呈现 ²,⁰B
ax.text(0.5, 0.7, r'$^2{,}^0$B', fontsize=16)
# 呈现 B₂,₀
ax.text(0.5, 0.3, r'B$_{2{,}0}$', fontsize=16)
plt.show()
  • 用r前缀声明原始字符串,避免转义字符干扰;
  • 如果你的Matplotlib默认未开启LaTeX渲染,可提前添加配置:
    plt.rcParams['text.usetex'] = True
    
    现在多数环境的默认配置已支持嵌入式LaTeX,无需额外设置也能正常渲染。

方法2:使用兼容的Unicode上下标逗号字符

你之前用的⸴是表意文字专用逗号,多数字体不支持,才会显示方块。可以改用字体支持的上下标逗号Unicode字符,比如:

  • 上标逗号:ᵎ(Unicode U+1D4E)
  • 下标逗号:₍(Unicode U+208D)

示例代码:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
# 呈现 ²,⁰B
ax.text(0.5, 0.7, '²ᵎ⁰B', fontsize=16, fontfamily='DejaVu Sans')
# 呈现 B₂,₀
ax.text(0.5, 0.3, 'B₂₍₀', fontsize=16, fontfamily='DejaVu Sans')
plt.show()

注意:这种方式依赖字体对特定Unicode字符的支持,若换用其他字体仍可能出现显示异常,因此不如LaTeX方法通用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:15:11