2017-05-05 102 views
0

我绘制衍生物,使用legend变量,我称之为“DY/DX”,但正是如此格式化:Python字符串:乳胶样式格式

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' 

任何想法如何,我可以打印格式的部分具有可变乳胶风格?

回答

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