Как предотвратить изменение чисел в экспоненциальную форму на рисунке Python matplotlib
Я использую Matplotlib в Python для построения простых наборов данных x-Y. Это создает красивые графики, хотя когда я "приближаюсь" слишком близко к различным разделам построенного графика, используя вид фигуры (который появляется при выполнении plt.show()
), значения оси x изменяют от стандартной формы номера (1050, 1060, 1070 etc.) в научную форму с экспоненциальной нотацией (например, 1, 1.5, 2.0 с меткой оси x, заданной как +1.057e3
).
Я бы предпочел, чтобы мои цифры оставались простыми нумерация оси, а не использование экспоненциальной формы. Есть ли способ заставить Matplotlib сделать это?
3 ответа:
форматирование меток тиков контролируется с помощью
Formatter
объект, который, предполагая, что вы не сделали ничего необычного, будетScalerFormatter
по умолчанию. Этот форматер будет использовать постоянный сдвиг, если дробное изменение видимых значений очень мало. Чтобы избежать этого, просто выключите его:plt.plot(arange(0,100,10) + 1000, arange(0,100,10)) ax = plt.gca() ax.get_xaxis().get_major_formatter().set_useOffset(False) plt.draw()
если вы хотите избежать научной нотации в целом,
ax.get_xaxis().get_major_formatter().set_scientific(False)
может контролировать это с глобально через
axes.formatter.useoffset
rcparam.