Scala log inversa nei grafici Seaborn

Manav Narula 15 febbraio 2024
Scala log inversa nei grafici Seaborn

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.

Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Articolo correlato - Seaborn Tick