2017-05-05 8 views
0

私は微分をプロットし、legend使用していますとの変数は、私が「DY/DX」それを呼び出すが、それは以下のようなものをフォーマットされます。Python文字列:ラテックススタイルの書式

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

それは第二の場合は、または3番目の、またはn番目の派生物、それから表示する:d^ny/dx^n。

だから私は、次のことを試してみました:

args.num誘導体のオーダーである
plt.legend(lineObjects, ("y",r"$\frac{d^{}y}{dx^{}}$".format(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)))