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

Dan*_*Dan 11 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()
Run Code Online (Sandbox Code Playgroud)

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

奇怪的是,如果我\rho用其他东西替换,比如,\sigma它会正确显示.任何人都可以告诉我为什么它对我的代码示例不满意以及如何修复它?

谢谢.

我尝试将表达式放入,$..$但没有改变.

rep*_*cus 17

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

plt.xlabel(r'$\rho A_i$')
Run Code Online (Sandbox Code Playgroud)


小智 6

在字符串中使用\n,\r等时要小心。这些是用于例如输入新行等的命令。

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

为了确保您不使用这些正则表达式运算符 put\\rho而不是\rho.