在matplotlib的注释中格式化数学文本

时间:2015-11-19 20:18:25

标签: python matplotlib format

我正在尝试使用一些math文本(例如

)在我的情节中写一个文字

enter image description here

遇到很多错误,比如

>>> plt.annotate(r'$\log_{10}M_{200}={:.2f}$'.format(xc), xy=(0.9, 0.95), xycoords='axes fraction', size=18, color='blue')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

IndexError: tuple index out of range

但是仍然有以下几行,我无法得到我想要的东西

import pylab as plt
xc=0.24
plt.annotate(r'$\log_{:.2}M_{:.3}={:.2f}$'.format('10','200',xc), xy=(0.8, 0.95), xycoords='axes fraction', size=15, color='blue') 

任何建议?

1 个答案:

答案 0 :(得分:2)

你的第二个解决方案的格式化部分对我来说很好,但它可能会让你的生活更容易通过将数字放在双花括号中来逃避格式化:

r'$\log_{{10}}M_{{200}}={:.2f}$'.format(xc)

例如xc = 5,此输出

$\log_{10}M_{200}=5.00$