在Python中使用latex(matplotlib)

时间:2015-02-16 22:24:41

标签: matplotlib latex

我试图使用乳胶标记我的情节,有些工作正常,如:

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)

我不明白为什么这不起作用但是第一个有效,有人可以帮忙吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

框符号暗示了其中一个问题。两个\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}) $')

enter image description here

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