Ho riscontrato un problema con il formato delle etichette di graduazione di un asse. Ho disabilitato l'offset dal Y_AXIS:formato etichetta asse matplotlib
ax1.ticklabel_format(style = 'sci', useOffset=False)
e ho cercato di metterlo in un formato scientifico, ma tutto quello che ottiene è:
0.00355872
ma mi aspettavo qualcosa di simile:
3.55872...E-2
o simile.
quello che voglio veramente è qualcosa di simile:
3.55872... (on the tick label)
x 10^2 (or something similar - on the axis label)
potrei provare a impostare le etichette come statica ,, ma alla fine avrò un paio di decine o centinaia di trame con valori diversi, in modo da deve essere impostato dinamicamente.
Un'alternativa sarebbe quella di posizionare l'offset y_axis come etichetta, ma non ho idea di come farlo.
Fresco, FuncFormatter utilizzato, ma con un paio di correzioni 'ax1.get_yaxis(). Set_major_formatter (ticker.FuncFormatter (lambda x, p: "%. 2f"% (x * (10 ** scale_pow))))) '. Solo un paio di dubbi: non capisco ancora cosa siano "lambda" e "p". Grazie molto! :) – jorgehumberto
Immagino che 'FuncFormatter' voglia una funzione con due argomenti. 'lambda x, p: do something' crea una funzione che accetta due argomenti (' x' e 'p') ed esegue qualsiasi operazione tu debba fare. [Vedi qui per un tutorial] (http://www.secnetix.de/olli/Python/lambda_functions.hawk) –
@jorgehumberto ha rimosso il 'lambda' e aggiunto un po 'di spiegazione su' p'. 'lambda' è solo un modo per fare una funzione con out' def', non è davvero necessario Python pantaloni di fantasia per questa risposta. Mi dispiace per aver reso più complicato del necessario. – tacaswell