Я рисую некоторые большие числа с matplotlib в программе pyqt, используя python 2.7. Я имею ось y, которая колеблется от 1e + 18 до 3e + 18 (обычно). Я бы хотел, чтобы каждая отметка показывала значения в научной нотации и с двумя знаками после запятой. Например, 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()