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