2017-05-05 103 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)))