Seaborn - wykreślanie danych kategorycznych

W naszych poprzednich rozdziałach dowiedzieliśmy się o wykresach rozrzutu, wykresach heksbinowych i wykresach kde, które są używane do analizy badanych zmiennych ciągłych. Wykresy te nie są odpowiednie, gdy badana zmienna jest kategoryczna.

Gdy jedna lub obie badane zmienne są kategorialne, używamy wykresów takich jak striplot (), swarmplot () itp. Seaborn zapewnia odpowiedni interfejs.

Kategoryczne wykresy punktowe

W tej sekcji dowiemy się o kategorycznych wykresach rozrzutu.

stripplot ()

stripplot () jest używane, gdy jedna z badanych zmiennych jest kategoryczna. Przedstawia dane w posortowanej kolejności wzdłuż dowolnej osi.

Przykład

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()

Wynik

Na powyższym wykresie wyraźnie widać różnicę petal_lengthw każdym gatunku. Jednak głównym problemem związanym z powyższym wykresem punktowym jest to, że punkty na tym wykresie nachodzą na siebie. Do obsługi tego rodzaju scenariuszy używamy parametru „Jitter”.

Jitter dodaje do danych losowy szum. Ten parametr dostosuje pozycje wzdłuż osi jakościowej.

Przykład

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()

Wynik

Teraz rozkład punktów można łatwo zobaczyć.

Swarmplot ()

Inną opcją, która może być używana jako alternatywa dla „Jittera”, jest funkcja swarmplot(). Ta funkcja umieszcza każdy punkt wykresu punktowego na osi jakościowej, unikając w ten sposób nakładania się punktów -

Przykład

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()

Wynik