每当我想要为绘图标签和文本渲染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)
我尝试过其他符号,$ \ pi $工作正常,但$ \ theta $只能显示" heta"没有t。我很困惑为什么有些符号适用于LaTeX而有些符号不适用。
谢谢!
答案 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$")