0

私が作成しているプロットについては、次のものがあります。

 plt.suptitle('Name:{0}, MJD:{1}, std dev > {2}'.format(pname, mjd[i], rmslevel), fontsize=12, fontweight='bold')

{2} (別名 rmslevel) の場所に表示される数値は、小数点以下 2 桁のみを表示する必要があります。

もちろん、これと同様の質問と解決策を見てきました:

print "%.1f" % number

しかし、同じ行で行っている .format のコンテキストでこれを機能させる方法がわかりません。

ありがとうございました!

4

4 に答える 4

2

あなたはこれを探しています。

>>> "{0:.2f}".format(123.678956)   # Or "{:.2f}".format(123.678956)
'123.68'

コードは次のようになります

plt.suptitle('Name:{0}, MJD:{1}, std dev > {2:.2f}'.format(pname, mjd[i], rmslevel), fontsize=12, fontweight='bold')

これは便利かもしれません。

Python Docsにはいくつかの例が含まれています。

ほとんどの場合、構文は古い % 形式に似ていますが、{} が追加され、% の代わりに : が使用されています。たとえば、'%03.2f' は '{:03.2f}' に変換できます。

于 2013-07-22T10:28:04.473 に答える
1

多分あなたはこれを行うことができます-

plt.suptitle('Name:{0}, MJD:{1}, std dev > {2}'.format(
             pname, mjd[i], ("%.2f" % rmslevel)
             ), fontsize=12, fontweight='bold')
于 2013-07-22T10:27:11.250 に答える
1

正しい構文は次のとおりです。

>>> print "{0:.2f}".format(4)
4.00

あなたの例では:

plt.suptitle('Name:{0}, MJD:{1}, std dev > {2:.2f}'.format(pname, mjd[i], rmslevel), fontsize=12, fontweight='bold')
#                                          ^^^^^^^ Notice the change.

詳細はこちら

于 2013-07-22T10:27:58.113 に答える
1
'Name:{0}, MJD:{1}, std dev > {2:.2f}'.format(pname, mjd[i], rmslevel)
于 2013-07-22T10:29:43.730 に答える