Python字符串:具有LaTex样式格式的变量

时间:2017-05-05 21:50:34

标签: python string format latex

我正在绘制衍生物,并使用legend,我将其称为“dy / dx”,但它的格式如此:

plt.legend(lineObjects, ("y", r"$\frac{dy}{dx}$"))

如果它是第2个,第3个或第n个导数,那么我希望它显示为:d ^ ny / dx ^ n。

所以我尝试了以下内容:

  plt.legend(lineObjects, ("y",r"$\frac{d^{}y}{dx^{}}$".format(args.num,args.num)))

其中args.num是衍生物的顺序。

没用。

我收到错误:

plt.legend(lineObjects, ("y",r"$\frac{d^{}y}{dx^{}}$".format(args.num,args.num)))
KeyError: 'd^{}y'

如何创建如何使用变量打印LaTex样式的格式化分数?

1 个答案:

答案 0 :(得分:2)

如果要在格式字符串中使用{,则需要将其加倍:

'This is {{}} a pair of curly braces in {}'.format('a string')

换句话说,你想要:

plt.legend(lineObjects, ("y",r"$\frac{{d^{}y}}{{dx^{}}}$".format(args.num,args.num)))

或者,您可以始终使用较旧的%风格格式:

plt.legend(lineObjects, ("y",r"$\frac{d^%sy}{dx^%s}$"%(args.num,args.num)))