在 Python(matplotlib) 中使用乳胶

Using latex in Python(matplotlib)

我试图用乳胶来标记我的情节,有些效果很好,比如:

plt.xlabel('$\omega$')

plt.ylabel('$\mathcal{F}g$')

plt.legend(('$t_{H}=10$', '$t_{H}=20$'), loc = 'best')

但是这个不行:

plt.title('$ \frac{1}{\sqrt \pi t_{H}} \exp(-(\frac{t}{t_{H}})^{2}) $')

它一直给我这个错误:

File "C:\Python27\lib\site-packages\matplotlib\mathtext.py", line 2049, in raise_error
raise ParseFatalException(msg + "\n" + s)
ParseFatalException: Expected end of math '$'
$ rac{1}{\sqrt \pi t_{H}} \exp(-(rac{t}{t_{H}})^{2}) $ (at char 0), (line:1,          col:1)

(顺便说一句,在给定的错误中,rac 前面有一个框符号,应该是 \f)

我不明白为什么这行不通,但第一个行得通,有人可以帮忙吗? 谢谢!

方框符号是对其中一个问题的提示。两个 \frac 命令都必须使用第二个反斜杠进行转义:\frac。还有第二个错误,即 \sqrt 命令缺少一组大括号。我不确定平方根包含什么,但为了生成工作样本,我将 \pi t_{H} 放在下面的平方根中。

这是一个带有输出图像的代码工作示例:

import matplotlib.pyplot as plt

ax = plt.axes()

plt.xlabel('$\omega$')
plt.ylabel('$\mathcal{F}g$')
plt.legend(('$t_{H}=10$', '$t_{H}=20$'), loc = 'best')
plt.title('$ \frac{1}{\sqrt{\pi t_{H}}} \exp(-(\frac{t}{t_{H}})^{2}) $')

\frac 必须转义的原因是 \f 是换页符,如 explained here.