matplotlib 3.5.2中\LaTeX符号在mathtext/usetex下无法显示问题
matplotlib 3.5.2 中正常显示\LaTeX符号的解决方案
针对text.usetex = True的情况
\LaTeX是LaTeX的文本命令,并非数学符号,直接放在数学环境($...$)中会报错。可以通过两种方式解决:
- 将\LaTeX包裹在
\text{}中,放在数学环境内:
import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = True plt.plot([], []) plt.title(r"$\text{\LaTeX}$") plt.show()
- 直接使用非数学环境,去掉
$包裹:
import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = True plt.plot([], []) plt.title(r"\LaTeX") plt.show()
针对text.usetex = False的情况
matplotlib自带的mathtext不支持\LaTeX命令,可选择以下方案:
- 手动拼接类似LaTeX样式的数学符号:
import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = False plt.plot([], []) plt.title(r"$\mathcal{L}\kern-0.3em\mathrm{a}\kern-0.1em\mathrm{T}\kern-0.2em\mathrm{e}\kern-0.2em\mathrm{X}$") plt.show()
- 使用普通文本直接显示"LaTeX",若需要衬线字体可指定字体族:
import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = False plt.plot([], []) plt.title("LaTeX", fontfamily='serif') plt.show()
内容的提问来源于stack exchange,提问作者John Karkas
相关产品推荐
相关产品推荐

