注釈の数値を、現在の {x}E+{y} ではなく、{x}\cdot10^{y} のようにしたいと思います。これに適した文字列フォーマッタはありますか?
私にとって最も理想的な解決策は、'%.2e' のようなフォーマット文字列を使用することですが、10 のべき乗表現への自動変換が行われます。
注釈の数値を、現在の {x}E+{y} ではなく、{x}\cdot10^{y} のようにしたいと思います。これに適した文字列フォーマッタはありますか?
私にとって最も理想的な解決策は、'%.2e' のようなフォーマット文字列を使用することですが、10 のべき乗表現への自動変換が行われます。
def round_to_n(x, n):
" Round x to n significant figures "
return round(x, -int(py.floor(py.sign(x) * py.log10(abs(x)))) + n)
def str_fmt(x, n=2):
" Format x into nice Latex rounding to n"
power = int(py.log10(Round_To_n(x, 0)))
f_SF = Round_To_n(x, n) * pow(10, -power)
return r"${}\cdot 10^{}$".format(f_SF, power)
>>> x = 1203801.30201
>>> str_fmt(x)
$1.2\\cdot 10^6$
y
これをパラメータ化する方法には多くのバリエーションがあります。たとえば、自動的に生成するのではなく指数 ( ) を指定できますが、原則は同じです。