为什么我在绘图标签中尝试使用LaTeX时会出错

时间:2014-12-14 21:28:27

标签: python matplotlib

我试着表明:

enter image description here

......作为我的情节' x轴标签。为此,我使用pylab.figtext()函数,即:

py.figtext(0.5, 0.05, "$k=2,\left \langle \left | -k \right |;k \right \rangle, 
k\in \mathbb{N}_{+}\cup\left \{ 0 \right \}$", rotation='horizontal', size='12')

不幸的是,我收到错误:

ValueError: 
$k=2,\left \langle \left | -k 
ight |;k 
ight 
angle, k\in \mathbb{N}_{+}\cup\left \{ 0 
ight \}$
^
Expected end of text (at char 0), (line:1, col:1)

为什么?我想,我可以自由使用LaTeX。我应该如何在figtext()方法中格式化我的文本以实现上述数学句子?提前谢谢。

3 个答案:

答案 0 :(得分:11)

这可以通过1个字母的修正来修复:

py.figtext(0.5, 0.05, r"$k=2,\left \langle \left | -k \right |;k \right \rangle, 
k\in \mathbb{N}_{+}\cup\left \{ 0 \right \}$", rotation='horizontal', size='12')

请注意字符串文字前面的 r 。错误的原因是您的latex字符串中的几个字符组合是有效的Python escape sequences,例如制表符和换行符。前缀为 r 的字符串文字(例如r"foo\nbar")使Python将字符串解释为raw string literal,即不将转义的字符组合转换为特殊字符。

答案 1 :(得分:4)

字符串中的反斜杠被解释为Python字符串转义符。例如,\r被解释为回车符。通过制作字符串r"$k=2,\left \langle \left..."来使用原始字符串。

答案 2 :(得分:0)

在处理字符串this r 上的示例之一之前,我遇到了类似的问题,而我的字符串文字没有帮助。我逃脱了$符号,并且有效。

r"Standardized [\$\$N  (\mu=0, \; \sigma=1)\$\$]",