我想使用LateX格式构建一个表达式,其中一些数字出现但是用LateX表达式中的变量表示。
实际目标是在axes.annotate()
方法中使用它,但为了便于讨论,这里是一个主要代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-5, 5, 0.05)
fig = plt.plot(x, x**2)
plt.grid(True)
g = 3
plt.xlabel(r'$test {}$'.format(g))
plt.show()
这没关系。g
的值传递给表达式。
然而,使用\frac{}{}
和其他结构怎么样?
将上面的xlabel()
字符串替换为:
plt.xlabel(r'$test \frac{1}{}$'.format(g))
给出:
IndexError: tuple index out of range
我知道使用花括号会发生一些事情,并尝试了几种变体,但到目前为止没有任何效果。
答案 0 :(得分:3)
可以通过加倍来转义大括号,但格式在替换g之后移除一对(并且frac期望其大括号中的参数),因此分母需要三对
plt.xlabel(r'$test \frac$ for i in *.csv;do echo $i;cp "$i" "$i.bak" && { echo "TaxID,$i"; cat "$i.bak"; } >"$i";done
{{{}}}$'.format(g))