2013-06-25 138 views
5

我在我的python脚本中有一个数字,我想用它作为matplotlib中一个图的标题的一部分。是否有一个函数将float转换为格式化的TeX字符串?如何使用matplotlib的LaTeX格式化程序来格式化浮点数?

基本上,

str(myFloat) 

返回

3.5e+20 

但我想

$3.5 \times 10^{20}$ 

,或者至少为matplotlib格式化浮像第二串将被格式化。我也坚持使用Python 2.4,所以特别赞赏在旧版本中运行的代码。

回答

4

你可以这样做:在老式

ax.set_title("${0} \\times 10^{{{1}}}$".format('3.5','+20')) 

ax.set_title("$%s \\times 10^{%s}$" % ('3.5','+20')) 
+0

你有任何替代老版本的Python?我被卡住了2.4,但string.format()在2.6中是新的。 – Dan

+0

好的...我加了!双反斜杠对matplotlib中正确解释'\ times'非常重要。 –

8

随着老S型格式:

print r'$%s \times 10^{%s}$' % tuple('3.5e+20'.split('e+')) 

用新的格式:

print r'${} \times 10^{{{}}}$'.format(*'3.5e+20'.split('e+'))