相关疑难解决方法(0)

以科学计数法显示小数

我该如何显示:

十进制('40800000000.00000000000000')为'4.08E + 10'?

我试过这个:

>>> '%E' % Decimal('40800000000.00000000000000')
'4.080000E+10'
Run Code Online (Sandbox Code Playgroud)

但它有额外的0.

python string-formatting

143
推荐指数
7
解决办法
24万
查看次数

我可以使用Python 2.7在matplotlib图的轴上显示小数位和科学记数法吗?

我正在使用python 2.7在pyqt程序中使用matplotlib绘制一些大数字.我的y轴范围从1e + 18到3e + 18(通常).我想看到每个刻度线以科学记数法显示值,并带有2位小数.例如2.35e + 18而不仅仅是2e + 18,因为2e + 18和3e + 18之间的值仍然只读取2e + 18的几个标记.这是一个问题的例子.

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(0, 300, 20)
y = np.linspace(0,300, 20)
y = y*1e16
ax.plot(x,y)  
ax.get_xaxis().set_major_formatter(plt.LogFormatter(10,  labelOnlyBase=False))
ax.get_yaxis().set_major_formatter(plt.LogFormatter(10,  labelOnlyBase=False))
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib significant-digits python-2.7 axis-labels

19
推荐指数
2
解决办法
5万
查看次数