Ho una figura matplotlib di cui sto tracciando i dati a cui ci si riferisce sempre come nanosecondi (1e-9). Sull'asse y, se ho dati che sono decine di nanosecondi, cioè. 44e-9, il valore sull'asse viene visualizzato come 4.4 con un + 1e-8 come offset. C'è comunque per forzare l'asse a mostrare 44 con un offset + 1e-9?
Lo stesso vale per il mio asse x in cui l'asse mostra + 5.54478e4, dove preferirei mostrare un offset di +55447 (numero intero, nessun decimale - il valore qui è in giorni).
Ho provato un paio di cose come questa:
p = axes.plot(x,y)
p.ticklabel_format(style='plain')
per l'asse x, ma questo non funziona, anche se probabilmente lo sto usando in modo errato o sto interpretando male qualcosa dai documenti, qualcuno può indicarmi la direzione corretta?
Grazie, Jonathan

Ho provato a fare qualcosa con i formattatori ma non ho ancora trovato alcuna soluzione ...:
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)
In una nota a margine, in realtà sono confuso su dove risiede effettivamente l'oggetto 'numero di offset' ... fa parte delle tacche maggiori / minori?
rcParamsdi disattivare se disattivato per impostazione predefinita: rcParams["axes.formatter.useoffset"] = Falsecome qui: stackoverflow.com/questions/24171064/…




set_units? matplotlib.sourceforge.net/api/… (Non posso provarlo perché non ho matplotlib qui.)