在Python中使用乳胶和变量(标题为Matplotlib)

时间:2019-03-21 11:25:13

标签: python matplotlib latex

我正试图在Python(3.6)中同时使用变量和乳胶符号作为Matplotlib中的标题。

但是当我使用默认方法时,乳胶符号的{}与Python中的变量之间的混淆似乎会引起混淆:

plt.title(r'E_obs and E_syn @ t={0}, $Q_i^{-1}$={1}, $\ell$={2}'.format(time, q_intr, lpath))

它没有运行,因为它似乎对{-1}感到困惑,尝试读取它是作为.format()中声明的变量的索引。 错误是:

KeyError: '-1'

经过研究,我尝试的是:

plt.title(f'E_obs and E_syn @ t={time}, $Q_i^{-1}$={q_intr}, $\ell$={lpath}')

它可以运行,但是我应该在Q_i顶部的-1只是一个-,而1则与Q处于同一水平。

有任何建议吗?

p.s。我是这个论坛新手,自己问问题;也欢迎您提供任何提示

1 个答案:

答案 0 :(得分:0)

如果format不考虑某些括号,则应将它们加倍(例如{{-1}})。

请参见https://docs.python.org/3.4/library/string.html#formatstrings

  

如果您需要在文字文本中包含一个大括号字符,可以通过加倍{{和}}来转义。

对于您而言,我希望以下方法能起作用:

r'E_obs and E_syn @ t={0}, $Q_i^{{-1}}$={1}, $\ell$={2}'.format(time, q_intr, lpath)