LaTeX没有处理matplotlib文本

时间:2015-11-03 03:15:05

标签: python matplotlib latex

每当我想要为绘图标签和文本渲染LaTeX时,我已经遇到了这个问题很长时间,它有时适用于某些符号而不适用于其他符号。例如,在我这里显示的脚本中生成如下图:

from matplotlib import rc
plt.rc('text', usetex=True)
plt.plot(a_t,asol[:,0],label ='$\psi$')
plt.plot(a_t,rho,label ="$\rho/\rho_c$")
plt.xlabel(r"$\xi$",fontsize=15)
from matplotlib.legend_handler import HandlerLine2D
plt.legend(loc='upper left',prop={'size':12},numpoints=1)

plt_result

我尝试过其他符号,$ \ pi $工作正常,但$ \ theta $只能显示" heta"没有t。我很困惑为什么有些符号适用于LaTeX而有些符号不适用。

谢谢!

1 个答案:

答案 0 :(得分:2)

请记住,Python字符串中的某些字符具有特殊含义,例如: \r用于回车,\t用于标签。这就是为什么你在某些时候只得到奇怪的结果,因为\p并没有特殊的意义。所以要么通过转义它们来确保你的反斜杠被视为文字反斜杠:

plt.plot(a_t,rho,label = "$\\rho/\\rho_c$")

或使用原始字符串:

plt.plot(a_t,rho,label = r"$\rho/\rho_c$")