12

我正在尝试将一些轴标签添加到包含希腊字母“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它会正确显示。谁能告诉我为什么它对我的代码示例不满意以及如何解决它?

谢谢。

Ps 我试着把表达式放进去,$..$但没有任何改变。

4

2 回答 2

18

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

plt.xlabel(r'$\rho A_i$')
于 2012-08-14T17:12:51.473 回答
8

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

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

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

于 2014-08-15T10:01:50.387 回答