如何在matplotlib中显示LaTeX f-字符串

19
在Python 3.6中,有一种新的f-string方法,可以将变量包含在字符串中,这很好,但如何正确地应用这些字符串以获取在matplotlib中打印上标或下标的结果呢?(要实际看到下标的结果,您需要在matplotlib图中绘制变量foo)。换句话说,我如何获得这种行为:
    var = 123
    foo = r'text$_{%s}$' % var
    text<sub>123</sub>
使用新的 f-string 语法?到目前为止,我已经尝试使用原始字符串字面值结合 f-string,但是这似乎仅将下标应用于变量的第一个字符。
    var = 123
    foo = fr'text$_{var}$'
    text<sub>1</sub>23

由于 { 的作用不明确,它既可以用来定界 r 应该考虑的下标,也可以用来定界变量的位置。

1个回答

36

您需要通过将花括号加倍来转义它们,然后再添加一个以在LaTeX公式中使用。这样就可以得到:

foo = f'text$_{{{var}}}$'

例子:

plt.figure()
plt.plot([1,2,3], [3,4,5])
var = 123
plt.text(1, 4,f'text$_{{{var}}}$')

输出:

输入图像描述

顺便提一下,在这个例子中,你实际上不需要使用原始字符串字面量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接