字符串格式和LaTeX函数之间的干扰

时间:2017-03-07 21:15:18

标签: python-2.7 matplotlib latex

说我做了一个合适的并获得了参数a(实际上还有更多)。现在我想在一个图中包含一小段文本,其中列出了参数及其单位。我的想法是使用代码:

import matplotlib.pyplot as plt
a=19389.2323
plt.figure()
plt.text(0.5,0.5, r'${0:.1f}\frac{kJ}{mol}$'.format(a/1000)) 

但最后一行导致KeyError: 'kJ',因为大括号由.format()解释,而不是被解释为LaTeX函数的一部分。

我当然可以将a的格式化版本硬编码到代码中,但我希望有人有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

您需要使用另一对花括号来转义latex命令的花括号。

plt.text(0.5,0.5, r'${0:.1f}\frac{{kJ}}{{mol}}$'.format(a/1000))