Подтвердить что ты не робот

Как удалить относительный сдвиг в оси matplotlib

Когда я пытаюсь сделать заговор против диапазона с достаточно большими числами, я получаю ось с относительным сдвигом для всех тиков. Например:

plot([1000, 1001, 1002], [1, 2, 3])

Я получаю эти тики по оси абсцисс:

0.0     0.5     1.0     1.5     2.0
                               +1e3

Вопрос заключается в том, как удалить +1e3 и получить просто:

1000.0  1000.5  1001.0  1001.5  1002.0
4b9b3361

Ответ 1

plot([1000, 1001, 1002], [1, 2, 3])
gca().get_xaxis().get_major_formatter().set_useOffset(False)
draw()

Это захватывает текущий axes, получает объект оси x axis, а затем главный объект форматирования и устанавливает useOffset в false (doc).

В более новых версиях (1.4+) matplotlib поведение по умолчанию можно изменить с помощью axes.formatter.useoffset rcparam.

Ответ 2

Чтобы отключить относительный сдвиг везде, задайте параметр rc:

import matplotlib
matplotlib.rc('axes.formatter', useoffset=False)