Skip to content
Tutoriels
Seaborn
📊 Tutoriel sur les boxplots Seaborn : Créer des boxplots personnalisés en Python

📊 Tutoriel sur les boxplots Seaborn : Créer des boxplots personnalisés en Python

Les boxplots sont un outil essentiel dans le domaine de la science des données, fournissant un résumé statistique des données et aidant à la compréhension de la distribution des données. Ils sont particulièrement utiles lors de la phase d'analyse exploratoire des données (EDA) des projets de science des données. Ce tutoriel se concentrera sur la création de boxplots à l'aide de la bibliothèque Seaborn en Python, un outil puissant pour la visualisation graphique et la visualisation des données. Nous plongerons dans la fonction de boxplot de seaborn, sa syntaxe et comment la personnaliser pour répondre à vos besoins.

Seaborn est une bibliothèque de visualisation de données Python basée sur matplotlib. Il offre une interface de haut niveau pour créer des graphiques statistiques attractifs et informatifs. L'une des principales caractéristiques de Seaborn est sa capacité à créer des boxplots, qui sont des représentations graphiques des résumés de cinq nombres de nos données. La fonction de boxplot de seaborn, seaborn.boxplot(), est un outil puissant qui nous permet de créer ces graphiques avec facilité et flexibilité.

Vous souhaitez créer rapidement une visualisation de données à partir d'un tableau de données Python avec aucun code?

PyGWalker est une bibliothèque Python pour l'analyse exploratoire des données avec visualisation. PyGWalker (opens in a new tab) peut simplifier votre flux de travail d'analyse et de visualisation des données dans Jupyter Notebook en transformant votre DataFrame pandas (et DataFrame polars) en une interface utilisateur de style Tableau pour l'exploration visuelle.

PyGWalker pour la visualisation de données (opens in a new tab)

Qu'est-ce qu'un boxplot Seaborn et comment l'utiliser ?

Un boxplot Seaborn est une méthode pour représenter graphiquement des groupes de données numériques à travers leurs quartiles. Il fournit un résumé visuel des données, où la boîte représente l'intervalle interquartile (les 50% du milieu des données), la ligne à l'intérieur de la boîte est la médiane et les moustaches représentent l'étendue des données. Les valeurs aberrantes, le cas échéant, sont représentées par des points individuels à l'extérieur des moustaches.

Les boxplots sont utilisés pour comparer les distributions entre différents ensembles de données. Par exemple, vous pouvez vouloir comparer la distribution des notes de test entre différentes salles de classe ou la distribution des températures pendant différents mois. La fonction de boxplot de seaborn facilite la création de ces graphiques et leur personnalisation selon vos besoins.

Créer un boxplot Seaborn en Python

Pour créer un boxplot seaborn, vous devez d'abord importer la bibliothèque seaborn. Vous pouvez le faire avec la ligne de code suivante :

import seaborn as sns

Ensuite, vous devez charger vos données. Seaborn peut gérer les DataFrames pandas, vous pouvez donc charger vos données dans un DataFrame, puis le transmettre à la fonction de boxplot de seaborn. Voici un exemple :

## Charger l'exemple de jeu de données tips
tips = sns.load_dataset("tips")
 
## Créer un boxplot
sns.boxplot(x=tips["total_bill"])

Dans cet exemple, nous chargeons l'ensemble de données intégré tips de seaborn et créons un boxplot des montants totaux des factures.

Personnalisation de l'apparence d'un boxplot Seaborn

Les boxplots Seaborn peuvent être personnalisés de nombreuses manières pour améliorer leur apparence et les rendre plus informatifs. Voici quelques exemples de la façon dont vous pouvez personnaliser vos boxplots seaborn :

Changer l'orientation

Par défaut, seaborn crée des boxplots verticaux. Cependant, vous pouvez créer des boxplots horizontaux en modifiant les paramètres x et y. Voici un exemple :

## Créer un boxplot horizontal
sns.boxplot(y=tips["total_bill"])

Ajout d'une teinte

Vous pouvez ajouter un paramètre de teinte (hue) à votre boxplot pour diviser les boîtes selon une autre variable catégorielle. Cela peut être utile pour comparer des distributions entre différents groupes. Voici un exemple :

## Créer un boxplot avec une teinte
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips)

Dans cet exemple, nous créons un boxplot des montants totaux des factures pour chaque jour, répartis selon que le client est fumeur ou non.

Personnalisation des couleurs de la boîte

Seaborn vous permet de personnaliser les couleurs de vos boxplots. Vous pouvez le faire en passant une palette de couleurs au paramètre palette de la fonction de boxplot. Voici un exemple :

## Créer un boxplot avec des couleurs personnalisées
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips, palette="Set3")

Dans cet exemple, nous utilisons la palette de couleurs "Set3" pour colorer nos boxplots.

Changement des moustaches

Par défaut, les moustaches d'un boxplot seaborn représentent la plage des données, en excluant les valeurs aberrantes. Cependant, vous pouvez changer cela en passant une valeur différente au paramètre whis de la fonction de boxplot. Par exemple, vous pouvez définir whis sur 0.5 pour que les moustaches représentent les 5e et 95e percentiles. Voici un exemple :

## Créer un boxplot avec des moustaches personnalisées
sns.boxplot(x="day", y="total_bill", data=tips, whis=0.5)

Boxplot Seaborn vs Violinplot

Seaborn propose un autre type de graphique appelé violinplot, qui combine un boxplot avec une estimation par densité de noyau pour fournir une description plus détaillée de la distribution des valeurs. Alors que les boxplots sont excellents pour fournir un résumé des données, les violinplots peuvent donner une image plus détaillée de la distribution.

Cependant, les violinplots peuvent être plus complexes à interpréter et peuvent ne pas convenir à tous les publics. Les boxplots, en revanche, sont simples et largement compris, ce qui en fait un bon choix pour de nombreuses situations.

Voici un exemple de création d'un violinplot avec seaborn :

## Créer un violinplot
sns.violinplot(x="day", y="total_bill", data=tips)

Interprétation d'un boxplot seaborn

L'interprétation d'un boxplot seaborn consiste à comprendre les différents composants du graphique. La boîte au milieu représente l'écart interquartile (IQR), qui est la plage entre le premier quartile (25e percentile) et le troisième quartile (75e percentile). La ligne à l'intérieur de la boîte est la médiane, ou le 50e percentile des données. Les moustaches représentent la plage des données dans 1,5 fois l'IQR. Toute donnée en dehors de cette plage est considérée comme une valeur aberrante et est représentée par des points individuels.

Voici un exemple d'interprétation d'un boxplot seaborn :

## Créer un boxplot
sns.boxplot(x="day", y="total_bill", data=tips)

Dans ce boxplot, vous pouvez voir le montant total médian de la facture pour chaque jour, représenté par la ligne à l'intérieur de chaque boîte. Les boîtes représentent l'IQR, vous pouvez donc voir la plage des montants totaux des factures pour les 50% intermédiaires des clients chaque jour. Les moustaches montrent la plage des montants totaux des factures dans 1,5 fois l'IQR, et tout point en dehors de cette plage est une valeur aberrante.

Annotations de boxplot seaborn

Les boxplots seaborn peuvent être annotés pour fournir des informations supplémentaires. Par exemple, vous pouvez annoter la médiane, les quartiles ou les valeurs aberrantes avec leurs valeurs. Voici un exemple de comment ajouter des annotations à un boxplot seaborn :

## Créer un boxplot
ax = sns.boxplot(x="day", y="total_bill", data=tips)
 
## Ajouter des annotations
for patch in ax.artists:
    r, g, b, a = patch.get_facecolor()
    patch.set_facecolor((r, g, b, .3))
    x = patch.get_x()
    y = patch.get_y()
    width = patch.get_width()
    height = patch.get_height()
    ax.text(x+width/2, y+height/2, "{:.2f}".format(height), ha='center', va='center')
 
plt.show()

Dans cet exemple, nous ajoutons des annotations au boxplot qui montrent la hauteur de chaque boîte, ce qui représente l'IQR.

Conclusion

En conclusion, les boxplots seaborn sont un outil puissant pour visualiser et comprendre la distribution de vos données. Avec la bibliothèque seaborn, vous pouvez créer des boxplots attrayants et informatifs avec quelques lignes de code seulement. Que vous exploriez un nouvel ensemble de données ou que vous prépariez un rapport, les boxplots seaborn peuvent vous aider à obtenir les informations dont vous avez besoin.

FAQs

Qu'est-ce qu'un boxplot seaborn et comment est-il utilisé ?

Un boxplot seaborn est une représentation graphique de la distribution d'un ensemble de données, montrant la médiane, les quartiles et les valeurs aberrantes des données. Il est utilisé pour visualiser et comprendre la distribution des données, et pour comparer les distributions entre différents groupes de données.

Comment créer un boxplot seaborn en Python ?

Vous pouvez créer un boxplot seaborn en Python en utilisant la fonction seaborn.boxplot(). Vous devez passer vos données à cette fonction, et vous pouvez personnaliser l'apparence du boxplot en utilisant différents paramètres.

Comment puis-je personnaliser l'apparence d'un boxplot seaborn ?

Vous pouvez personnaliser l'apparence d'un boxplot seaborn de nombreuses façons, notamment en changeant l'orientation, en ajoutant une teinte, en personnalisant les couleurs et en changeant les moustaches. Vous pouvez également ajouter des annotations pour fournir des informations supplémentaires.