Seaborn : Comment créer un boxplot de plusieurs colonnes
Vous pouvez utiliser la syntaxe de base suivante dans Seaborn pour créer un boxplot de plusieurs colonnes d’un DataFrame pandas :
sns.boxplot(x='variable', y='value', data=df)
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Boxplot de plusieurs colonnes utilisant Seaborn
Supposons que nous ayons le DataFrame pandas suivant qui montre les points marqués par les joueurs de trois équipes de basket-ball différentes :
import pandas as pd #create DataFrame df = pd.DataFrame({'A': [5, 7, 7, 9, 12, 12], 'B': [8, 8, 9, 13, 15, 17], 'C': [1, 2, 2, 4, 5, 7]}) #view DataFrame df A B C 0 5 8 1 1 7 8 2 2 7 9 2 3 9 13 4 4 12 15 5 5 12 17 7
Supposons que nous souhaitions créer trois diagrammes en boîte montrant la répartition des points marqués par chaque équipe.
Pour créer plusieurs boxplots dans seaborn, il faut d’abord fondre le DataFrame pandas dans un format long :
#melt data frame into long format
df_melted = pd.melt(df)
#view first 10 rows of melted data frame
df_melted.head(10)
variable value
0 A 5
1 A 7
2 A 7
3 A 9
4 A 12
5 A 12
6 B 8
7 B 8
8 B 9
9 B 13
Nous pouvons maintenant créer plusieurs boxplots en utilisant seaborn :
import matplotlib.pyplot as plt
import seaborn as sns
#create seaborn boxplots by group
sns.boxplot(x='variable', y='value', data=df_melted)
L’axe des x affiche les équipes et l’axe des y affiche la répartition des points marqués.
Notez que nous pouvons utiliser la syntaxe suivante pour également ajouter un titre et modifier les étiquettes des axes :
import matplotlib.pyplot as plt
import seaborn as sns
#create seaborn boxplots by group
sns.boxplot(x='variable', y='value', data=df_melted).set(title='Points by Team')
#modify axis labels
plt.xlabel('Team')
plt.ylabel('Points')
Ressources additionnelles
Les tutoriels suivants expliquent comment créer d’autres visualisations courantes dans seaborn :
Comment créer un diagramme circulaire dans Seaborn
Comment créer un graphique en aires dans Seaborn
Comment créer un tracé de série chronologique dans Seaborn