Seaborn - Rappresentazione grafica di dati categoriali

Nei nostri capitoli precedenti abbiamo appreso dei grafici a dispersione, dei grafici hexbin e dei grafici kde che vengono utilizzati per analizzare le variabili continue in esame. Questi grafici non sono adatti quando la variabile in esame è categoriale.

Quando una o entrambe le variabili in esame sono categoriali, utilizziamo grafici come striplot (), swarmplot (), ecc. Seaborn fornisce l'interfaccia per farlo.

Grafici a dispersione categoriali

In questa sezione, impareremo i grafici a dispersione categoriali.

stripplot ()

stripplot () viene utilizzato quando una delle variabili in esame è categoriale. Rappresenta i dati in ordine ordinato lungo uno qualsiasi degli assi.

Esempio

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df)
plt.show()

Produzione

Nella trama sopra, possiamo vedere chiaramente la differenza di petal_lengthin ogni specie. Tuttavia, il problema principale con il grafico a dispersione sopra è che i punti sul grafico a dispersione sono sovrapposti. Usiamo il parametro "Jitter" per gestire questo tipo di scenario.

Il jitter aggiunge del rumore casuale ai dati. Questo parametro regolerà le posizioni lungo l'asse categoriale.

Esempio

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df, jitter = Ture)
plt.show()

Produzione

Ora, la distribuzione dei punti può essere vista facilmente.

Swarmplot ()

Un'altra opzione che può essere utilizzata come alternativa a "Jitter" è la funzione swarmplot(). Questa funzione posiziona ogni punto del grafico a dispersione sull'asse categoriale e quindi evita punti sovrapposti -

Esempio

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()

Produzione