2013-07-24 12 views
6

In un grafico creato da matplotlib.pyplot, come posso forzare la visualizzazione delle etichette degli assi nella notazione esponenziale? Questo sembra essere fatto automaticamente per i valori < 1e-6, ma per, diciamo, 5e-6 ottengo "0.000005". Preferirei vederlo mostrato come "5e-6" anche per questa gamma.Matplotlib.pyplot: forza la notazione etichetta dell'asse esponenziale

+0

http://matplotlib.org/api/ticker_api.html#matplotlib.ticker.FormatStrFormatter ' "% e"' è esponenziale –

risposta

5

E sembra come si dovrebbe essere in grado di impostare i limiti di potenza del ScalarFormatter per gli assi. (Codice non testato)

# Set limits to x < 10^1 and x > 10^-1 
# (overlapping, thus all inclusive, hopefully) 
gca().get_yaxis().get_major_formatter().set_powerlimits((0, 0)) 
+3

Si può fare ancora meglio e basta chiamare 'set_powerlimits' su 'gca(). get_major_formatter()' – tacaswell

+0

@tcaswell: Bello, grazie. – voithos

+1

@voithos: ho dovuto usare 'gca(). Yaxis.get_major_formatter(). Set_powerlimits ((- 1,1))'. Esiste un modo (elegante) per applicare la modifica ad entrambi gli assi in un colpo solo? @tcaswell: come si fa? Chiamare 'set_powerlimits' senza argomenti ha generato un errore. – gandi2223

Problemi correlati