我正试图在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。我是这个论坛新手,自己问问题;也欢迎您提供任何提示
答案 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)