【问题标题】:Using latex and variables in Python (title Matplotlib) [duplicate]在 Python 中使用乳胶和变量(标题 Matplotlib)[重复]
【发布时间】:2019-03-21 11:25:13
【问题描述】:

我正在尝试将 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 处于同一水平。

大家有什么建议吗?

附言我是这个论坛的新手,自己提问;也欢迎任何关于此的提示

【问题讨论】:

    标签: python matplotlib latex


    【解决方案1】:

    如果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)
    

    【讨论】:

    • 谢谢,这行得通!我已经查看了重复的问题(也在问我的问题之前),但我不明白那个答案。我愿意,谢谢
    猜你喜欢
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 2015-02-17
    • 2020-01-02
    • 2021-11-06
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多