Как удалить относительный сдвиг в оси 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

2 ответов


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.


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

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