matplotlib: formatear valores de desplazamiento del eje a números enteros o números específicos

Tengo una figura matplotlib que estoy trazando datos que siempre se denominan nanosegundos (1e-9). En el eje y, si tengo datos que son decenas de nanosegundos, es decir. 44e-9, el valor en el eje se muestra como 4.4 con a + 1e-8 como desplazamiento. ¿Hay alguna forma de forzar que el eje muestre 44 con un desplazamiento + 1e-9?

Lo mismo ocurre con mi eje x donde el eje muestra + 5.54478e4, donde prefiero que muestre un desplazamiento de +55447 (número entero, sin decimal; el valor aquí es en días).

He intentado un par de cosas como esta:

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

para el eje x, pero esto no funciona, aunque probablemente lo estoy usando incorrectamente o malinterpretando algo de los documentos, ¿alguien puede señalarme en la dirección correcta?

Gracias Jonathan

Intenté hacer algo con formateadores pero aún no he encontrado ninguna solución ...:

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

y

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

En una nota al margen, estoy realmente confundido en cuanto a dónde reside realmente el objeto 'número de desplazamiento' ... ¿es parte de los ticks mayores / menores?

Respuestas a la pregunta(8)

Su respuesta a la pregunta