2015-02-16 2 views
1

Я пытался использовать латекс, чтобы маркировать свой участок, некоторые прекрасно работают, как:Использование латекса в 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) 

(кстати в данных ошибках, есть символ коробки перед рацем, который должен был быть е \)

Я не понимаю, почему это не работает, но первый работает, может кто-то может помочь? Спасибо!

ответ

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 ,

+0

Благодарим вас за ответ и указав отсутствующий {} на \ sqrt. – Sam

Смежные вопросы