HOWTO · Seaborn

Scala log inversa nei grafici Seaborn

Questo tutorial dimostra come utilizzare i valori di log e reverse log nei grafici Seaborn in Python.

In questa pagina

Python è ben dotato di diverse funzioni per gestire i valori logaritmici ed esponenziali. Usiamo le funzioni log() e exp() disponibili dai moduli numpy e math per calcolare tali valori.

Per esempio,

print(np.log(50))
print(np.exp(3.912023005428146))

Produzione:

3.912023005428146
49.99999999999999

Molte alterazioni delle due funzioni sopra citate ci permettono di calcolare il log con basi diverse e non solo. I valori esponenziali sono considerati log inversi o valori log inversi.

È possibile trattare tali valori anche su grafici e grafici. Il modulo seaborn, che si basa sul modulo matplotlib, viene utilizzato per scopi di visualizzazione e può creare molti tipi diversi di grafici. Possiamo modificare la cifra finale secondo il nostro requisito utilizzando diverse funzioni.

In questo tutorial, impareremo a invertire i valori di registro sui grafici nati dal mare in Python.

Nel nostro esempio, utilizzeremo le funzioni di registro per calcolare i valori richiesti e tracciarli utilizzando la funzione violinplot() del modulo seaborn.

Vedi il codice qui sotto,

import seaborn as sns
import numpy as np

lst = [1, 5, 8, 9, 5, 2, 5, 6, 9]

pl = sns.violinplot(y=np.log(lst))

trama di tronchi di mare

Possiamo personalizzare i valori di tick dell’etichetta su entrambi gli assi utilizzando la funzione set_yticklabels() e set_xticklabels(). Useremo la funzione di log inverso con le funzioni sopra per impostare i valori dell’etichetta tick.

Per esempio,

import seaborn as sns
import numpy as np

lst = [1, 5, 8, 9, 5, 2, 5, 6, 9]

pl = sns.violinplot(y=np.log(lst))
pl.set_yticklabels([f"{np.expm1(l):.2f}" for l in pl.get_yticks()])

scala logaritmica inversa nella trama marina

La funzione get_yticks() restituisce le etichette predefinite e calcoliamo il loro log inverso utilizzando la funzione exp(). Formattiamo il risultato finale solo con due cifre decimali usando fstrings usato per la formattazione delle stringhe in Python.

In questo modo, abbiamo creato un diagramma del violino calcolando i valori di registro degli elementi di un elenco e citando i valori originali sulle etichette dei segni di spunta utilizzando la funzione di registro inverso.

Nota che abbiamo usato le funzioni del modulo numpy e non il modulo math nei nostri esempi. È perché le funzioni numpy log() e exp() possono calcolare direttamente i valori richiesti di una lista o anche di un array.