Matplotlib - 在LateX表达式中使用变量

时间:2015-11-18 17:19:05

标签: matplotlib latex annotate

我想使用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

我知道使用花括号会发生一些事情,并尝试了几种变体,但到目前为止没有任何效果。

1 个答案:

答案 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))