Matplotlib LaTeX:与希腊字母不一致的行为(特别是\ rho)

时间:2012-08-14 17:08:48

标签: python latex matplotlib

我正在尝试将一些轴标签添加到包含希腊字母'rho'的图形中。要做到这一点,我想使用Matplotlib的LaTeX功能,但它似乎与\ rho符号有问题。

这是一个最小的例子:

import matplotlib.pyplot as plt
from matplotlib import rc,rcParams

rc('text',usetex=True)
rcParams.update({'font.size': 16})

plt.plot([0,1,2,3,4],[0,1,4,9,16])
plt.xlabel('\rho A_i') # works if \rho is replaced with, for example, \sigma
plt.ylabel('Something else')
plt.show()

第一次运行时,我得到一堆LaTeX错误和一个空白的图形窗口,再次运行显示图形,但xlabel读取“ ho Ai ”,其中 i 是预期的下标。

奇怪的是,如果我用其他内容替换\rho,比如\sigma它会正确显示。任何人都可以告诉我为什么它对我的代码示例以及如何解决它感到不满意?

感谢。

P.S。我尝试将表达式放在$..$中,但没有改变任何内容。

2 个答案:

答案 0 :(得分:17)

我认为你应该使用原始字符串,并使用$符号。尝试:

plt.xlabel(r'$\rho A_i$')

答案 1 :(得分:4)

在字符串中使用\n\r等时要小心。这些是用于例如进入新线等。

https://docs.python.org/2/library/re.html

要确保您不使用这些正则表达式运算符,请将\\rho代替\rho