matplotlib: форматирует значения смещения оси к целым числам или определенному числу

У меня есть фигура matplotlib, на которой я строю данные, которые всегда называют наносекундами (1e-9). На оси у, если у меня есть данные, которые десятки наносекунд, т.е. 44e-9, значение на оси отображается как 4,4 с смещением + 1e-8. Можно ли заставить ось показывать 44 со смещением + 1e-9?

То же самое относится и к моей оси x, где ось показывает + 5.54478e4, где я бы предпочел, чтобы она показала смещение +55447 (целое число, без десятичной дроби - значение здесь указывается в днях).

Я пробовал пару вещей, как это:

p = axes.plot(x,y)
p.ticklabel_format(style='plain')

для оси х, но это не работает, хотя я, вероятно, использую это неправильно или неправильно истолковываю что-то из документов, может кто-то указать мне правильное направление?

Спасибо Джонатан

Я пытался что-то делать с форматерами, но пока не нашел решения ...:

myyfmt = ScalarFormatter(useOffset=True)
myyfmt._set_offset(1e9)
axes.get_yaxis().set_major_formatter(myyfmt)

а также

myxfmt = ScalarFormatter(useOffset=True)
myxfmt.set_portlimits((-9,5))
axes.get_xaxis().set_major_formatter(myxfmt)

С другой стороны, я на самом деле не понимаю, где на самом деле находится объект 'число смещения' ... является ли он частью основных / второстепенных тиков?

Ответы на вопрос(8)

Ваш ответ на вопрос