在轴上显示小数位数和科学计数法

22 浏览
0 Comments

在轴上显示小数位数和科学计数法

我正在使用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()

0