matplotlib: formata valores de deslocamento do eixo para números inteiros ou números específicos

Eu tenho uma figura matplotlib que estou plotando dados que são sempre referidos como nanossegundos (1e-9). No eixo y, se eu tiver dados que são dezenas de nanossegundos, ou seja. 44e-9, o valor no eixo mostra como 4,4 com um + 1e-8 como um deslocamento. Existe alguma maneira de forçar o eixo a mostrar 44 com um deslocamento + 1e-9?

O mesmo vale para o meu eixo x, onde o eixo está mostrando + 5.54478e4, onde eu prefiro que ele mostre um deslocamento de +55447 (número inteiro, sem decimal - o valor aqui está em dias).

Eu tentei algumas coisas como esta:

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

para o eixo x, mas isso não funciona, embora eu provavelmente esteja usando incorretamente ou interpretando mal algo dos documentos, alguém pode me apontar na direção correta?

Obrigado Jonathan

Tentei fazer algo com formatadores, mas ainda não encontrei nenhuma solução ...:

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

e

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

Em uma nota lateral, estou realmente confuso sobre onde o objeto 'número de deslocamento' realmente reside ... isso faz parte dos ticks principais / secundários?

questionAnswers(8)

yourAnswerToTheQuestion