python - 如何在绘图标签中使用字符串格式语法

标签 python

使用 Python 和 Pyplot,我的绘图标签之一如下,它给出了我想要的内容。

plt.ylabel('$\mathrm{\dot{\nu}}$ ($\mathrm{10^{-16} s^{-2}}$)', fontsize=16)

然后,我希望标签不是 10^-16,而是 10^-“power”,其中 power 是我代码中的变量。

我将代码调整为:

plt.ylabel('$\mathrm{\dot{\nu}}$ ($\mathrm{10^{-{0}} s^{-2}}$)'.format(power), fontsize=16

但我收到以下错误:

KeyError: '\\dot{\\nu}'

由于所有大括号,该错误似乎不知道我何时要替换“power”,但我不知道如何修复它。

最佳答案

您需要转义所有 { 字符 - .format() 将它们视为特殊字符:

>>> '{0}'.format('foo')
'foo'
>>>
'{{{0}}}'.format('foo')  # => '{foo}'
'{foo}'

>>> power = 3
>>> '$\mathrm{{\dot{{\nu}}}}$ ($\mathrm{{10^{{-{0}}} s^{{-2}}}}$)'.format(power)
'$\\mathrm{\\dot{\nu}}$ ($\\mathrm{10^{-3} s^{-2}}$)'

关于python - 如何在绘图标签中使用字符串格式语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370442/

相关文章:

python - PyGitHub:无法访问我团队的私有(private)存储库

python - 将包含 dict 的单元格分解为 Pandas 中的多行

python - 在 Pandas 的同一系列中获取不同的数据类型

python - 从Lua程序调用python函数

python - 查找一个数字是否存在于列表指定的数字范围之间

python - 循环遍历字典列表python

python - 如何删除列表中的重复数字,然后替换为新的随机数

python - 如何在Python中将时间戳转换为字符串

python - 生成一系列字符的 pythonic 方式是什么?

python - Pyplot 图例/键,但用于比例,就像在 map 上一样