【问题标题】:Using latex in Python(matplotlib)在 Python 中使用乳胶(matplotlib)
【发布时间】:2015-02-16 22:24:40
【问题描述】:

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

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)

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

【问题讨论】:

    标签: matplotlib latex


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答并指出 \sqrt 上缺少的 {}。
    猜你喜欢
    • 2020-01-02
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 2013-07-31
    • 2014-01-10
    相关资源
    最近更新 更多