python - 在 Python 中使用乳胶和变量(标题 Matplotlib)
问题描述
我正在尝试在 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 处于同一水平。
有人有什么建议吗?
ps 我是这个论坛的新手,我自己提问;也欢迎任何关于此的提示
解决方案
如果某些括号不应该被考虑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)
推荐阅读
- javascript - 如何在 Highcharts 中隐藏类别中的空堆积列?
- c# - MS Bot ThumbnailCard 在 Facebook Messenger 上抛出错误
- stm32f4 - FATFS与定时器中断STM32f407VG冲突
- file-upload - (反应管理员)如何以二进制格式上传图像?
- cron - 有没有可以运行二级crontab的Linux包
- c++ - C++20 中反射的当前状态
- python - 如何将 Python 函数转换为 SymPy?
- javascript - 检测特定用户的 Firebase 实时更改
- javascript - 在组件之间从 Vuex 数组传递对象时失去 Vue 反应性
- javascript - 如何在一个函数中多次设置状态?