Eu tenho uma figura matplotlib que estou traçando dados que sempre é referido 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 4,4 com a + 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 meu eixo x, onde o eixo está mostrando + 5,54478e4, onde prefiro que ele mostre um deslocamento de +55447 (número inteiro, sem decimal - o valor aqui é 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 a 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 ... é parte dos tiques principais / secundários?
rcParams
desativá-lo por padrão: rcParams["axes.formatter.useoffset"] = False
como aqui: stackoverflow.com/questions/24171064/…
set_units
? matplotlib.sourceforge.net/api/… (Não posso tentar porque não tenho matplotlib aqui.)