La visualisation des données transforme des informations complexes en des insights clairs et exploitables. Les barplots de Seaborn excellent dans la présentation de données catégorielles à travers des graphiques élégants et statistiques. La bibliothèque combine la flexibilité de Matplotlib avec la puissance de pandas, la rendant idéale à la fois pour des analyses rapides et des visualisations prêtes pour la publication.
Les barplots de Seaborn offrent des fonctionnalités essentielles pour l’analyse de données – des comparaisons de base aux représentations statistiques avancées. Ils gèrent des tâches courantes comme la comparaison des métriques de vente entre les régions, l’analyse des réponses à des enquêtes et la visualisation des résultats d’expériences.
La syntaxe intuitive de la bibliothèque et ses fonctions statistiques intégrées la rendent précieuse aussi bien pour les débutants que pour les praticiens de données expérimentés.
Dans cet article, nous examinerons les bases des barplots de Seaborn, la création de graphiques de base avec des exemples de code, l’amélioration des graphiques grâce à la personnalisation, la mise en œuvre de fonctionnalités avancées et l’exploration des applications pratiques.
Pour en savoir plus sur la visualisation des données avec Seaborn, consultez notre Introduction à la visualisation des données avec Seaborn cours.
Notions de base sur les barplots de Seaborn
Avant d’aborder les barplots, examinons quelques notions fondamentales sur Seaborn, ses avantages pour les barplots et comment configurer l’environnement de codage.
Qu’est-ce que Seaborn?
Seaborn est une bibliothèque de visualisation de données statistiques en Python construite sur Matplotlib. Elle se spécialise dans la création de graphiques statistiques informatifs et attrayants avec un minimum de code. La bibliothèque s’intègre étroitement avec les DataFrames pandas, ce qui la rend particulièrement efficace pour les flux de travail d’analyse de données.
Elle fournit une interface de haut niveau pour dessiner des graphiques attrayants tout en gérant automatiquement de nombreux détails de style.
La bibliothèque excelle dans trois aspects clés:
- Elle s’intègre parfaitement avec les DataFrames pandas, rendant la manipulation des données simple
- Il est livré avec des fonctions statistiques intégrées, éliminant ainsi le besoin de calculs séparés
- Il applique par défaut des thèmes et des palettes de couleurs professionnels
Par exemple, tandis que Matplotlib nécessite plusieurs lignes de code pour créer une visualisation statistique de base, Seaborn peut accomplir la même tâche avec un seul appel de fonction.
Pour les graphiques à barres en particulier, Seaborn ajoute des fonctionnalités puissantes comme le calcul automatique de la moyenne, les intervalles de confiance et la gestion avancée des variables catégorielles – des capacités qui nécessiteraient un code supplémentaire significatif dans Matplotlib de base.
Pourquoi utiliser des barplots?
Les diagrammes en barres présentent des données catégorielles à travers des barres verticales ou horizontales, où la longueur représente une valeur numérique. Cela les rend idéaux pour comparer des valeurs à travers différents groupes ou catégories. Dans l’analyse de données, les diagrammes en barres aident à visualiser les résultats d’enquêtes, les parts de marché, les métriques de performance et les distributions des ventes.
Les principaux avantages incluent:
- Comparaison claire des quantités à travers les catégories
- Fonctionnalités statistiques intégrées (moyenne, médiane, intervalles de confiance)
- Représentation efficace des données groupées
- Éléments visuels simples mais informatifs
- Options de personnalisation faciles pour des présentations professionnelles
Configuration rapide
Pour commencer à créer des diagrammes à barres avec Seaborn, nous devrons configurer notre environnement Python. Voici comment commencer :
Tout d’abord, installons les packages requis comme indiqué ci-dessous :
pip install seaborn pandas numpy
Maintenant, tous nos outils de visualisation sont prêts à être utilisés. Importons les bibliothèques dont nous aurons besoin, comme indiqué ci-dessous :
# Pour créer des visualisations statistiques import seaborn as sns # Pour la manipulation et l'analyse des données import pandas as pd # Pour les opérations numériques import numpy as np
Nous pouvons améliorer l’apparence de nos graphiques avec quelques paramètres de style, comme suit :
# Style blanc clair sns.set_style("white")
Le style white
supprime les lignes de grille et rendra les graphiques agréables sur la plupart des écrans. Dans les prochaines sections, nous examinerons la création de diagrammes à barres et comment les améliorer.
Création de diagrammes à barres basiques avec Seaborn
Un diagramme en barres est parfait pour visualiser les relations entre des variables catégorielles et numériques. Il montre des estimations ponctuelles (comme la moyenne ou la médiane) et l’incertitude autour de ces estimations à travers des barres d’erreur. Jetons un œil à la syntaxe de base du diagramme en barres seaborn.
Syntaxe et paramètres
Le sns.barplot() fonction dans Seaborn offre un moyen simple de créer des diagrammes en barres statistiques. La structure de base de la fonction .barplot() ressemble à ce qui suit:
sns.barplot( data=None, # Your DataFrame x=None, # Category variable y=None, # Numeric variable estimator='mean', # Statistical function to estimate errorbar=('ci', 95), # Error bars type and level orient=None # "v" for vertical, "h" for horizontal )
Ces paramètres nous donnent le contrôle sur les données que nous affichons et comment nous les affichons. Le paramètre data
prend votre DataFrame, tandis que x et y spécifient quelles colonnes utiliser pour les catégories et les valeurs. L’estimateur
vous permet de choisir quelle fonction statistique appliquer (moyenne par défaut), et errorbar
contrôle comment l’incertitude est affichée. Vous pouvez également basculer entre les orientations verticale et horizontale en utilisant le paramètre orient
.
Maintenant, voyons comment créer des barres efficaces en utilisant l’ensemble de données intégré de Seaborn, qui contient des informations sur les additions et les pourboires dans les restaurants.
Exemple : Visualisation d’un ensemble de données simple
Nous allons examiner le comportement des pourboires selon les jours de la semaine en utilisant l’ensemble de données sur les pourboires. Cet ensemble de données contient des informations sur les additions dans les restaurants, y compris le jour de la semaine, le montant total de l’addition, le montant du pourboire, et d’autres variables.
# Importer les bibliothèques requises et charger l'ensemble de données import seaborn as sns tips = sns.load_dataset("tips") # Créer un barplot de base montrant les pourboires moyens par jour sns.barplot(data=tips, x="day", y="tip")
Résultat:
Notre code a créé la visualisation ci-dessus où chaque barre représente le montant moyen du pourboire pour un jour de la semaine différent. La hauteur de chaque barre montre la valeur moyenne du pourboire, tandis que les lignes noires (barres d’erreur) indiquent l’intervalle de confiance à 95 % – nous donnant un aperçu à la fois du montant de pourboire typique et de sa variation.
Nous pouvons également examiner les tendances de pourboires à travers les différents moments des repas :
# Créer un barplot montrant les pourboires moyens par moment de la journée sns.barplot(data=tips, x="time", y="tip")
Résultat:
Ce graphique révèle la différence de comportement en matière de pourboires entre le service du déjeuner et celui du dîner. La hauteur de chaque barre représente le montant moyen du pourboire pour cette période de la journée, avec des barres d’erreur montrant la variabilité du comportement des pourboires. Ce type de visualisation permet de repérer facilement des tendances et de comparer des groupes en un coup d’œil.
Ces diagrammes en barres de base fournissent une base pour des visualisations plus complexes. Dans la section suivante, nous verrons comment améliorer ces graphiques avec des couleurs, des regroupements et d’autres personnalisations pour créer des visualisations plus informatives et attrayantes visuellement.
Améliorer les diagrammes en barres avec des personnalisations
Ajouter des améliorations visuelles à nos diagrammes en barres peut rendre nos données plus attrayantes et plus faciles à comprendre. Voyons les différentes façons de personnaliser les diagrammes en barres en utilisant l’ensemble de données sur les pourboires.
Ajouter des couleurs aux diagrammes en barres
Seaborn propose plusieurs façons d’ajouter de la couleur à vos diagrammes en barres, les rendant ainsi plus attrayants visuellement et informatifs. Nous pouvons utiliser une seule couleur pour toutes les barres ou créer des groupes codés par couleur,
Le paramètre color
définit une seule couleur pour toutes les barres, tandis que la palette
vous permet de spécifier un jeu de couleurs lorsque vos données ont plusieurs groupes. Seaborn propose de nombreuses palettes de couleurs intégrées qui fonctionnent bien pour différents types de données.
Nous pouvons créer un simple barplot avec une seule couleur en utilisant le paramètre color
comme indiqué ci-dessous:
# Charger l'ensemble de données tips si ce n'est pas déjà fait import seaborn as sns tips = sns.load_dataset("tips") # Barplot avec une seule couleur sns.barplot(data=tips, x="day", y="tip", color="skyblue")
Sortie:
Nous pouvons créer un barplot avec plusieurs couleurs en utilisant le paramètre palette comme indiqué ci-dessous:
# Charger l'ensemble de données tips si ce n'est pas déjà fait import seaborn as sns tips = sns.load_dataset("tips") # Utilisation d'une palette de couleurs différente sns.barplot(data=tips, x="day", y="tip", palette="Set2")
Sortie:
Barplot Seaborn avec plusieurs colonnes
L’une des fonctionnalités les plus puissantes des barplots Seaborn est la capacité de montrer les relations entre plusieurs variables en utilisant le paramètre hue
. Cela crée des barres regroupées qui facilitent les comparaisons.
Comparons les pourboires sur les deux jours et les heures de repas en utilisant le paramètre hue
comme indiqué ci-dessous :
# Chargez l'ensemble de données sur les pourboires si ce n'est pas déjà fait import seaborn as sns tips = sns.load_dataset("tips") # Créez un graphique à barres groupées montrant les pourboires par jour et par heure sns.barplot( data=tips, x="day", y="tip", hue="time" )
Résultat:
Le graphique ci-dessus montre deux barres – une pour le déjeuner et une pour le dîner. Ce regroupement nous aide à voir non seulement comment les pourboires varient selon le jour, mais aussi comment ils diffèrent entre les heures des repas.
Création d’un graphique à barres empilées avec seaborn
Les graphiques à barres empilées sont excellents pour montrer la composition de différentes catégories. Bien que Seaborn n’ait pas de fonction directe pour les graphiques à barres empilées, nous pouvons le combiner avec matplotlib pour créer des visualisations empilées efficaces.
Cette approche exploite la fonctionnalité statistique de Seaborn tout en utilisant les capacités d’empilement de matplotlib. Par exemple, dans l’ensemble de données sur les pourboires, voyons comment les pourboires sont répartis entre les fumeurs et les non-fumeurs selon les jours.
Commençons par importer les bibliothèques nécessaires pour notre visualisation :
# Import des bibliothèques requises import seaborn as sns import matplotlib.pyplot as plt import numpy as np
Ensuite, nous chargerons notre ensemble de données contenant des informations sur les pourboires dans les restaurants :
# Charger l'ensemble de données sur les pourboires tips = sns.load_dataset("tips")
Nous allons créer une figure avec des dimensions appropriées pour notre visualisation :
# Créer la figure et l'axe plt.figure(figsize=(10, 4))
Ensuite, nous allons calculer les pourboires moyens des fumeurs et des non-fumeurs pour différents jours :
# Calculer les valeurs pour l'empilement # Filtrer les fumeurs, regrouper par jour et obtenir les pourboires moyens smoker_means = tips[tips['smoker']=='Yes'].groupby('day')['tip'].mean() # Filtrer les non-fumeurs, regrouper par jour et obtenir les pourboires moyens non_smoker_means = tips[tips['smoker']=='No'].groupby('day')['tip'].mean()
Ensuite, nous allons configurer les paramètres de base pour nos barres empilées comme indiqué ci-dessous :
# Tracer les barres empilées en utilisant matplotlib days = smoker_means.index width = 0.8
Maintenant, nous allons créer la couche inférieure de nos barres empilées pour les non-fumeurs :
# Créer les barres inférieures (non-fumeurs) plt.bar(days, non_smoker_means, width, label='Non-smoker', color=sns.color_palette()[0])
Nous allons ajouter la couche supérieure pour les pourboires des fumeurs :
# Créer les barres supérieures (fumeurs) plt.bar(days, smoker_means, width, bottom=non_smoker_means, label='Smoker', color=sns.color_palette()[1])
Définissons un style épuré sans lignes de grille en utilisant le style seaborn :
# Ajouter le style Seaborn sns.set_style("white")
Enfin, nous allons afficher notre diagramme en barres empilées terminé :
# Afficher le graphique plt.show()
Résultat :
Le graphique résultant montre les pourboires moyens des fumeurs empilés sur les pourboires des non-fumeurs pour chaque jour, ce qui permet de comparer à la fois les pourboires totaux et la contribution de chaque groupe.
Cette solution de contournement nous permet de :
- Conserver le style visuel attrayant de Seaborn
- Empiler nos barres pour montrer la composition
- Maintenir la nature statistique de notre visualisation
- Utiliser les palettes de couleurs de Seaborn pour la cohérence
Fonctionnalités avancées et astuces
Maintenant que nous avons couvert les bases et les personnalisations, examinons quelques fonctionnalités avancées qui peuvent rendre nos diagrammes à barres plus informatifs et professionnels. Nous continuerons à utiliser l’ensemble de données des pourboires pour démontrer ces techniques avancées.
Annotation des diagrammes à barres
Ajouter des étiquettes de valeur aux barres peut rendre vos visualisations plus précises et informatives. Créons un diagramme à barres qui montre les valeurs exactes des pourboires au-dessus de chaque barre.
Tout d’abord, importons nos bibliothèques et préparons nos données :
# Importer les bibliothèques requises import seaborn as sns import matplotlib.pyplot as plt # Charger et préparer l'ensemble de données des pourboires tips = sns.load_dataset("tips")
Créez notre diagramme à barres avec des valeurs statistiques :
# Créer le diagramme à barres de base ax = sns.barplot(data=tips, x="day", y="tip”, errorbar=None) # Create barplot and store the axes object for annotations
Ensuite, nous ajouterons des étiquettes de valeur en haut de chaque barre, comme indiqué ci-dessous :
# Obtenir la hauteur de chaque barre bars = ax.containers[0] # Get the bar container object heights = [bar.get_height() for bar in bars] # Extract height of each bar # Ajouter des annotations textuelles sur le dessus de chaque barre for bar, height in zip(bars, heights): # Loop through bars and heights together ax.text( bar.get_x() + bar.get_width()/2., # X position (center of bar) height, # Y position (top of bar) f'${height:.2f}', # Text (format as currency) ha='center', # Horizontal alignment va='bottom' # Vertical alignment )
Résultat:
Gestion des axes et des échelles
Lors de la création de diagrammes à barres, ajuster les axes aide à rendre vos données plus lisibles et percutantes. Voyons comment personnaliser les limites des axes, les étiquettes et les graduations à l’aide des fonctions de Seaborn.
Tout d’abord, nous allons importer notre bibliothèque et charger l’ensemble de données dont nous avons besoin pour notre visualisation :
# Importer les bibliothèques requises import seaborn as sns # Charger et préparer l'ensemble de données des pourboires tips = sns.load_dataset("tips")
Nous pouvons créer un diagramme à barres avec des étiquettes personnalisées et un ordre des jours spécifique. Le paramètre order
nous permet de spécifier exactement comment nous voulons que nos jours soient disposés sur l’axe des x:
# Créer un diagramme à barres avec des étiquettes d'axe ax = sns.barplot( data=tips, x="day", y="tip", order=['Thur', 'Sat', ‘Fri', 'Sun'] # Set custom order for days )
Pour rendre notre graphique plus informatif, nous pouvons ajouter des étiquettes descriptives pour les deux axes en utilisant la méthode set
:
# Définir des étiquettes descriptives pour les axes ax.set( xlabel='Day of Week', ylabel='Average Tip ($)' )
Pour affiner notre visualisation, nous pouvons définir des limites spécifiques et des marques de graduation. Le paramètre ylim
contrôle la plage de l’axe y, tandis que xticks
et yticks
nous permettent de définir exactement où nous voulons que nos marques de graduation apparaissent:
# Personnaliser les limites et les marques de graduation des axes ax.set( ylim=(0, 5), # Set y-axis range from 0 to 5 xticks=range(4), # Set x-axis tick positions yticks=[0, 1, 2, 3, 4, 5] # Set specific y-axis tick values )
Pour incorporer tous ces changements dans le graphique, nous devons les exécuter tous en une seule fois et non un par un. Le code complet est présenté ci-dessous :
# Import des bibliothèques requises import seaborn as sns # Charger et préparer l'ensemble de données "tips" tips = sns.load_dataset("tips") # Créer un diagramme à barres avec des libellés d'axe ax = sns.barplot( data=tips, x="day", y="tip", order=['Thur', 'Sat', 'Fri', 'Sun'] # Set custom order for days ) # Définir des libellés d'axe descriptifs ax.set( xlabel='Day of Week', ylabel='Average Tip ($)' ) # Personnaliser les limites et les graduations de l'axe ax.set( ylim=(0, 5), # Set y-axis range from 0 to 5 xticks=range(4), # Set x-axis tick positions yticks=[0, 1, 2, 3, 4, 5] # Set specific y-axis tick values )
Sortie :
Le graphique résultant montre les pourboires par jour avec des libellés clairs, des échelles appropriées et des marques de graduation bien organisées, ce qui facilite la lecture et l’interprétation des données.
Intégration des barres d’erreur
Les barres d’erreur aident à visualiser l’incertitude ou la variabilité de vos données. Seaborn propose plusieurs options pour ajouter des barres d’erreur à vos diagrammes à barres, y compris les intervalles de confiance et l’écart type.
Tout d’abord, nous allons importer notre bibliothèque et charger l’ensemble de données dont nous avons besoin pour notre visualisation :
# Importer les bibliothèques requises import seaborn as sns # Charger et préparer l'ensemble de données des pourboires tips = sns.load_dataset("tips")
Par défaut, Seaborn affiche des intervalles de confiance à 95 %. Nous pouvons modifier cela en utilisant le paramètre ‘errorbar’ pour afficher différents types d’estimations statistiques :
# Créer un barplot avec des intervalles de confiance ax = sns.barplot( data=tips, x="day", y="tip", errorbar="ci", # Show confidence interval capsize=0.1 # Add small caps to error bars )
Résultat :
Nous pouvons également afficher l’écart type au lieu des intervalles de confiance, ce qui aide à visualiser la dispersion de nos données :
# Passer à l'écart type ax = sns.barplot( data=tips, x="day", y="tip", errorbar="sd", # Show standard deviation capsize=0.1 # Add small caps to error bars )
Résultat :
Parfois, nous pouvons vouloir supprimer complètement les barres d’erreur pour un rendu plus propre :
# Créer un barplot sans barres d'erreur ax = sns.barplot( data=tips, x="day", y="tip", errorbar=None # Remove error bars )
Sortie :
Les graphiques résultants montrent comment différents types de barres d’erreur peuvent nous aider à comprendre la variabilité de nos données de pourboire à travers différents jours de la semaine.
Applications Pratiques des Barplots Seaborn
Les barplots sont des outils polyvalents en visualisation de données, particulièrement utiles lorsque vous avez besoin de comparer des valeurs à travers différentes catégories ou d’analyser simultanément plusieurs variables. Regardons deux applications courantes où les barplots Seaborn excellent.
Visualisation des tendances des données catégorielles
Les barplots de Seaborn excellent pour révéler des motifs dans les données catégoriques, en particulier lors de l’analyse de métriques à travers différents groupes. En montrant à la fois la tendance centrale et l’incertitude, les barplots aident à identifier les différences significatives entre les catégories.
Cela en fait un outil idéal pour analyser le comportement des clients, la performance des produits ou les réponses aux enquêtes où vous devez comparer les valeurs à travers des groupes distincts.
Comparaison de plusieurs variables
Lorsque notre analyse implique de multiples facteurs, les barplots de Seaborn peuvent mettre en lumière des relations complexes dans nos données. L’utilisation de fonctionnalités telles que le regroupement (hue) ou l’empilement aide à comparer différentes variables simultanément, facilitant ainsi la détection de motifs et d’interactions entre différents aspects de nos données.
Conclusion
Les barplots Seaborn trouvent le juste équilibre entre simplicité et insight statistique. La syntaxe intuitive de la bibliothèque combinée à ses fonctionnalités statistiques robustes en font un outil essentiel pour la visualisation de données. Des comparaisons de catégories de base aux visualisations groupées avancées, les barplots aident à découvrir et communiquer efficacement les motifs des données.
Prêt à améliorer vos compétences en visualisation de données ? Voici ce que vous pouvez explorer ensuite :
- Besoin d’un guide de référence rapide ? Consultez notre Python Seaborn Cheat Sheet
- Explore line plots next in our Tutoriel sur les graphiques en ligne de Seaborn
- Apprenez à visualiser les corrélations, lisez le Tutoriel sur les cartes thermiques de Seaborn
- Maîtrisez les distributions de données avec notre guide sur Comment créer un histogramme Seaborn
Envie de perfectionner vos compétences en Seaborn ? Inscrivez-vous au Cours de Visualisation de Données Intermédiaire avec Seaborn.