Python 将浮点数转换为具有固定指数的科学格式
我想转换以下内容:Python 将浮点数转换为具有固定指数的科学格式,python,matplotlib,format,axis,Python,Matplotlib,Format,Axis,我想转换以下内容: 0.00000012 to 0.1e-6 0.0000012 to 1.2e-6 并发现: “%.1e”%var 哪一个 0.00000012 to 1.2e-7 0.0000012 to 1.2e-6 如何格式化以保持指数固定 如何将相同的格式应用于matplotlib刻度?使用。这是一个MWE import matplotlib.pyplot as plt x = range(2) y = [0.00000012, 0.0000012] plt.plot(
0.00000012 to 0.1e-6
0.0000012 to 1.2e-6
并发现:
“%.1e”%var
哪一个
0.00000012 to 1.2e-7
0.0000012 to 1.2e-6
如何格式化以保持指数固定
如何将相同的格式应用于matplotlib刻度?使用。这是一个MWE
import matplotlib.pyplot as plt
x = range(2)
y = [0.00000012, 0.0000012]
plt.plot(x, y)
plt.xticks(x)
plt.yticks(y)
plt.ticklabel_format(style='sci', axis='y', scilimits=(0, 0))
plt.show()
生产,
您可以使用此选项(您需要定义请求的精度):
要设置数字格式,请使用以下方法:
>>> for i in [.12e9,1.2e9,12e9,120e9]:
... print('{:.3e} => {:0=5.3f}e9'.format(i, i/1e9))
1.200e+08 => 0.120e9
1.200e+09 => 1.200e9
1.200e+10 => 12.000e9
1.200e+11 => 120.000e9
看{:0=5.3f}
表示“零位,符号和数字之间的填充,总字段宽度8,小数点后3位,定点格式”
>>> for i in [.12e9,1.2e9,12e9,120e9]:
... print('{:.3e} => {:0=5.3f}e9'.format(i, i/1e9))
1.200e+08 => 0.120e9
1.200e+09 => 1.200e9
1.200e+10 => 12.000e9
1.200e+11 => 120.000e9