The*_*tor 0 python syntax matplotlib
matplotlib.pyplot我正在尝试在1.3.1 版本中编写数学表达式
>>> import matplotlib
>>> print matplotlib.__version__
1.3.1
Run Code Online (Sandbox Code Playgroud)
不起作用的代码片段是
plt.scatter(np.log10(r1),np.log10(xi1),c='red',label='$\xi$(r) M$_{200}$>13.4')
plt.plot(np.log10(r1),np.log10(curve_y_1),'--',label='fit M200>13.4')
plt.text(0.5,-1.6,'0.0<z<1.0',fontsize=15,color='c')
plt.text(0.5,-1.8,'r$_0$ = %g' % p1_1,fontsize=13,color='r')
plt.text(0.5,-2.0,'$\gamma$ = %g' % p1_2,fontsize=13,color='r')
Run Code Online (Sandbox Code Playgroud)
错误的整个回溯是:
In [55]: %run correlation_fit_compare.py
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
202 else:
203 filename = fname
--> 204 __builtin__.execfile(filename, *where)
ValueError: invalid \x escape
Run Code Online (Sandbox Code Playgroud)
Matplotib网站提到,$and中包含的任何内容都\应该给我所需的表达式。他们的例子之一是 $\alpha$ ,它给了他们“数学”阿尔法。
谁能告诉我如何在我的标签中写入 \xi ?
编辑:已发布整个 plt 代码和整个回溯
在 matplotlib 中使用数学文本时,必须使用原始字符串而不是标准字符串。在标准字符串中\用作转义字符,例如\n表示新行。
将字符串转换为原始字符串很简单,您会注意到 matplotlib 示例在r字符串开头之前放置了 ,例如r'$\alpha$'。
在你的情况下,你可以将其更改为:
plt.scatter(np.log10(r1),np.log10(xi1),c='red',label=r'$\xi$(r) M$_{200}$>13.4')
Run Code Online (Sandbox Code Playgroud)