Accéder au contenu principal

Seaborn barplot : le guide complet

Apprenez à créer et personnaliser des barplots Seaborn en Python. Maîtrisez les techniques essentielles pour visualiser des relations catégorielles, des graphiques de base aux fonctionnalités avancées.
Actualisé 19 sept. 2026  · 10 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

La visualisation de données transforme des informations complexes en insights clairs et actionnables. Les barplots Seaborn excellent pour présenter des données catégorielles au moyen de graphiques statistiques élégants. La bibliothèque allie la flexibilité de Matplotlib à la puissance de pandas, ce qui la rend idéale autant pour des analyses rapides que pour des visuels prêts à publier.

Les barplots Seaborn offrent des fonctionnalités essentielles pour l'analyse : des comparaisons de base jusqu'à des représentations statistiques avancées. Ils gèrent des cas courants comme la comparaison d'indicateurs de ventes entre régions, l'analyse de réponses à des enquêtes et la visualisation de résultats d'expériences. 

Sa syntaxe intuitive et ses fonctions statistiques intégrées en font un atout autant pour les débutants que pour les praticiens expérimentés des données.

Dans cet article, nous verrons les bases de Seaborn barplot, la création de graphiques simples avec exemples de code, l'amélioration par la personnalisation, la mise en œuvre de fonctionnalités avancées et des cas d'usage concrets.

Pour aller plus loin sur la visualisation de données avec Seaborn, découvrez notre cours Introduction to Data Visualization with Seaborn.

Les bases de Seaborn barplot

Avant d'aborder les barplots, voyons quelques fondamentaux de Seaborn, ses avantages pour ce type de graphiques et la mise en place de l'environnement de code.

Qu'est-ce que Seaborn ?

Seaborn est une bibliothèque Python de visualisation statistique construite sur Matplotlib. Elle spécialise dans la création de graphiques statistiques informatifs et esthétiques avec un minimum de code. La bibliothèque s'intègre étroitement aux DataFrames pandas, ce qui la rend particulièrement efficace dans les workflows d'analyse.

Elle fournit une interface de haut niveau pour tracer des graphiques attrayants tout en gérant automatiquement de nombreux détails de style.

La bibliothèque excelle sur trois aspects clés :

  • Intégration transparente avec les DataFrames pandas pour une manipulation simplifiée
  • Fonctions statistiques intégrées, évitant des calculs séparés
  • Thèmes et palettes de couleurs professionnels appliqués par défaut

Par exemple, là où Matplotlib nécessite plusieurs lignes de code pour un graphique statistique de base, Seaborn peut accomplir la même tâche avec un seul appel de fonction. 

Pour les barplots en particulier, Seaborn ajoute des fonctionnalités puissantes comme le calcul automatique de la moyenne, les intervalles de confiance et une gestion avancée des variables catégorielles – des capacités qui exigeraient beaucoup de code supplémentaire avec Matplotlib seul.

Pourquoi utiliser des barplots ?

Les barplots représentent des données catégorielles par des barres verticales ou horizontales dont la longueur reflète une valeur numérique. Ils sont idéaux pour comparer des valeurs entre différents groupes ou catégories. En analyse, ils aident à visualiser des résultats d'enquêtes, des parts de marché, des indicateurs de performance et des distributions de ventes.

Leurs principaux atouts :

  • Comparaison claire des quantités entre catégories
  • Fonctionnalités statistiques intégrées (moyenne, médiane, intervalles de confiance)
  • Représentation efficace de données groupées
  • Visuels simples mais informatifs
  • Personnalisation aisée pour des présentations professionnelles

Mise en route rapide

Pour commencer à créer des barplots avec Seaborn, configurons notre environnement Python. Voici comment procéder :

Installez d'abord les paquets requis comme ci-dessous :

pip install seaborn pandas numpy

Nos outils de visualisation sont maintenant prêts à l'emploi. Importons les bibliothèques nécessaires, comme ci-dessous :

# Création de visualisations statistiques
import seaborn as sns

# Manipulation et analyse de données
import pandas as pd

# Opérations numériques
import numpy as np

Améliorons le rendu avec quelques réglages de style :

# Style blanc épuré
sns.set_style("white")

Le style white supprime la grille et convient à la plupart des écrans. Dans les sections suivantes, nous verrons comment créer et améliorer des barplots.

Créer des barplots Seaborn de base

Un barplot est parfait pour visualiser les relations entre variables catégorielles et numériques. Il affiche des estimations ponctuelles (comme la moyenne ou la médiane) et l'incertitude via des barres d'erreur. Voyons la syntaxe de base de seaborn barplot.

Syntaxe et paramètres

La fonction sns.barplot() fournit un moyen simple de créer des barplots statistiques. La structure de base de .barplot() ressemble à ceci :

sns.barplot(
    data=None,      # Votre DataFrame
    x=None,         # Variable catégorielle
    y=None,         # Variable numérique
    estimator='mean',  # Fonction statistique à appliquer
    errorbar=('ci', 95),  # Type et niveau de barres d'erreur
    orient=None     # "v" pour vertical, "h" pour horizontal
)

Ces paramètres contrôlent les données affichées et leur présentation. Le paramètre data reçoit votre DataFrame, tandis que x et y spécifient les colonnes à utiliser pour les catégories et les valeurs. estimator définit la fonction statistique à appliquer (moyenne par défaut) et errorbar contrôle l'affichage de l'incertitude. Vous pouvez également choisir une orientation verticale ou horizontale avec le paramètre orient.

Voyons maintenant comment créer des barplots efficaces en utilisant le jeu de données intégré tips de Seaborn, qui contient des informations sur des additions et pourboires au restaurant.

Exemple : visualiser un jeu de données simple

Nous allons observer le comportement de pourboire selon les jours de la semaine avec le jeu tips. Il comprend le jour, le montant total de l'addition, le pourboire et d'autres variables.

# Importer les bibliothèques et charger le jeu de données
import seaborn as sns
tips = sns.load_dataset("tips")

# Barplot basique des pourboires moyens par jour
sns.barplot(data=tips, x="day", y="tip")

Rendu :

Le code produit la visualisation ci-dessus, où chaque barre représente le pourboire moyen pour un jour donné. La hauteur indique la moyenne, et les lignes noires (barres d'erreur) représentent l'intervalle de confiance à 95 % – offrant un aperçu à la fois du niveau typique et de sa variabilité.

Nous pouvons aussi examiner les schémas de pourboires selon le moment du repas :

# Barplot des pourboires moyens par moment de la journée
sns.barplot(data=tips, x="time", y="tip")

Rendu :

Ce graphique met en évidence la différence de comportement entre le déjeuner et le dîner. La hauteur de chaque barre indique le pourboire moyen pour ce créneau, les barres d'erreur montrant la variabilité. Ce type de visuel facilite l'identification des tendances et la comparaison des groupes en un coup d'œil.

Ces barplots de base servent de fondation à des visualisations plus complexes. Dans la section suivante, nous verrons comment les enrichir avec des couleurs, des groupements et d'autres personnalisations pour des visuels plus informatifs et attractifs.

Améliorer les barplots par la personnalisation

Ajouter des améliorations visuelles à nos barplots rend les données plus engageantes et plus faciles à comprendre. Voyons différentes façons de personnaliser les barplots avec le jeu tips.

Ajouter des couleurs aux barplots

Seaborn propose plusieurs manières d'ajouter de la couleur à vos barplots pour les rendre à la fois esthétiques et informatifs. Vous pouvez utiliser une couleur unique pour toutes les barres ou créer des groupes codés par couleur,

Le paramètre color applique une seule couleur à toutes les barres, tandis que palette permet de spécifier un jeu de couleurs lorsque vos données comportent plusieurs groupes. Seaborn inclut de nombreuses palettes adaptées à différents types de données.

On peut créer un barplot simple avec une couleur unique via le paramètre color comme ci-dessous :

# Charger le jeu tips si besoin
import seaborn as sns
tips = sns.load_dataset("tips")

# Barplot monochrome
sns.barplot(data=tips, x="day", y="tip", color="skyblue")

Rendu :

On peut aussi créer un barplot multicolore avec le paramètre palette comme ci-dessous :

# Charger le jeu tips si besoin
import seaborn as sns
tips = sns.load_dataset("tips")

# Utiliser une palette de couleurs différente
sns.barplot(data=tips, x="day", y="tip", palette="Set2")

Rendu :

Seaborn barplot avec plusieurs colonnes

L'un des points forts des barplots Seaborn est la possibilité de montrer des relations entre plusieurs variables via le paramètre hue, qui crée des barres groupées pour faciliter les comparaisons.

Comparons les pourboires selon les jours et les moments du repas avec le paramètre hue comme ci-dessous :

# Charger le jeu tips si besoin
import seaborn as sns
tips = sns.load_dataset("tips")

# Barplot groupé des pourboires par jour et moment
sns.barplot(
    data=tips,
    x="day",
    y="tip",
    hue="time"
)

Rendu :

Le graphique présente deux barres – l'une pour le déjeuner, l'autre pour le dîner. Ce groupement permet de voir non seulement la variation par jour, mais aussi la différence entre moments de repas.

Créer un stacked barplot avec Seaborn

Les barplots empilés sont excellents pour montrer la composition des catégories. Bien que Seaborn ne propose pas directement ce type de graphique, on peut le combiner avec Matplotlib pour obtenir un résultat efficace. 

Cette approche tire parti de la dimension statistique de Seaborn tout en utilisant les capacités d'empilement de Matplotlib. Par exemple, dans le jeu tips, observons la répartition des pourboires entre fumeurs et non-fumeurs selon les jours.

Commençons par importer les bibliothèques nécessaires :

# Importer les bibliothèques requises
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

Chargeons ensuite le jeu de données sur les pourboires :

# Charger le jeu tips
tips = sns.load_dataset("tips")

Créons une figure aux dimensions adaptées :

# Créer la figure et les axes
plt.figure(figsize=(10, 4))

Calculons les pourboires moyens des fumeurs et des non-fumeurs selon les jours :

# Calculer les valeurs pour l'empilement
# Filtrer les fumeurs, regrouper par jour et prendre la moyenne des pourboires
smoker_means = tips[tips['smoker']=='Yes'].groupby('day')['tip'].mean()
 
# Filtrer les non-fumeurs, regrouper par jour et prendre la moyenne des pourboires     
non_smoker_means = tips[tips['smoker']=='No'].groupby('day')['tip'].mean()

Paramétrons la base de nos barres empilées :

# Tracer les barres empilées avec matplotlib
days = smoker_means.index
width = 0.8

Créons la couche de base pour les non-fumeurs :

# Barres du bas (non-fumeurs)
plt.bar(days, non_smoker_means, width, label='Non-smoker', color=sns.color_palette()[0])

Ajoutons la couche supérieure pour les fumeurs :

# Barres du haut (fumeurs)
plt.bar(days, smoker_means, width, bottom=non_smoker_means, 
        label='Smoker', color=sns.color_palette()[1])

Appliquons un style épuré sans quadrillage avec Seaborn :

# Ajouter le style Seaborn
sns.set_style("white")

Enfin, affichons le barplot empilé :

# Afficher le graphique
plt.show()

Rendu :

Le graphique résultant montre, pour chaque jour, les pourboires moyens des fumeurs empilés au-dessus de ceux des non-fumeurs, ce qui facilite la comparaison du total et de la contribution de chaque groupe.

Cette méthode permet de :

  • Conserver le style visuel soigné de Seaborn
  • Empiler les barres pour montrer la composition
  • Garder la dimension statistique de la visualisation
  • Utiliser les palettes de couleurs Seaborn pour la cohérence

Fonctionnalités avancées et bonnes pratiques

Après les bases et la personnalisation, examinons des fonctionnalités avancées pour rendre nos barplots plus informatifs et professionnels. Nous continuerons d'utiliser le jeu tips pour illustrer ces techniques.

Annoter les barplots

Ajouter des étiquettes de valeur peut rendre vos graphiques plus précis et explicites. Créons un barplot affichant la valeur exacte au-dessus de chaque barre.

Commençons par importer les bibliothèques et préparer les données :

# Importer les bibliothèques requises
import seaborn as sns
import matplotlib.pyplot as plt

# Charger et préparer le jeu tips
tips = sns.load_dataset("tips")

Créons le barplot avec les valeurs statistiques :

# Créer le barplot de base
ax = sns.barplot(data=tips, x="day", y="tip”, errorbar=None)    # Créer le barplot et conserver l'objet axes pour les annotations

Ajoutons ensuite les étiquettes au sommet de chaque barre, comme ci-dessous :

# Récupérer la hauteur de chaque barre
bars = ax.containers[0]                           # Récupérer le conteneur des barres
heights = [bar.get_height() for bar in bars]      # Extraire la hauteur de chaque barre

# Ajouter les annotations au-dessus de chaque barre
for bar, height in zip(bars, heights):            # Boucler sur barres et hauteurs
    ax.text(
        bar.get_x() + bar.get_width()/2.,        # Position X (centre de la barre)
        height,                                   # Position Y (sommet de la barre)
        f'${height:.2f}',                        # Texte (format monétaire)
        ha='center',                             # Alignement horizontal
        va='bottom'                              # Alignement vertical
    )

Rendu :

Gérer axes et échelles

Lors de la création de barplots, ajuster les axes améliore la lisibilité et l'impact. Voyons comment personnaliser limites, libellés et graduations avec les fonctions Seaborn.

Importons d'abord la bibliothèque et le jeu de données nécessaires :

# Importer les bibliothèques requises
import seaborn as sns

# Charger et préparer le jeu tips
tips = sns.load_dataset("tips")

Nous pouvons créer un barplot avec des libellés personnalisés et un ordre spécifique des jours. Le paramètre order nous permet de définir précisément l'agencement des jours sur l'axe des abscisses :

# Créer un barplot avec libellés d'axes
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    order=['Thur', 'Sat', ‘Fri', 'Sun']     # Ordre personnalisé des jours
)

Pour rendre le graphique plus informatif, ajoutons des libellés déscriptifs aux deux axes avec la méthode set :

# Définir des libellés d'axes explicites
ax.set(
    xlabel='Day of Week',
    ylabel='Average Tip ($)'
)

Pour affiner la visualisation, nous pouvons fixer des limites et des graduations précises. Le paramètre ylim contrôle l'étendue de l'axe des ordonnées, tandis que xticks et yticks définissent l'emplacement des repères :

# Personnaliser limites et graduations
ax.set(
    ylim=(0, 5),                            # Plage de l'axe Y de 0 à 5
    xticks=range(4),                        # Positions des graduations en X
    yticks=[0, 1, 2, 3, 4, 5]              # Valeurs spécifiques en Y
)

Pour intégrer tous ces changements au graphique, exécutez-les ensemble. Voici le code complet :

# Importer les bibliothèques requises
import seaborn as sns

# Charger et préparer le jeu tips
tips = sns.load_dataset("tips")

# Créer un barplot avec libellés d'axes
ax = sns.barplot(
   data=tips,
   x="day",
   y="tip",
   order=['Thur', 'Sat', 'Fri', 'Sun']     # Ordre personnalisé des jours
)

# Définir des libellés d'axes explicites
ax.set(
   xlabel='Day of Week',
   ylabel='Average Tip ($)'
)

# Personnaliser limites et graduations
ax.set(
   ylim=(0, 5),                            # Plage de l'axe Y de 0 à 5
   xticks=range(4),                        # Positions des graduations en X
   yticks=[0, 1, 2, 3, 4, 5]              # Valeurs spécifiques en Y
)

Rendu :

Le résultat affiche les pourboires par jour avec des libellés clairs, des échelles adaptées et des graduations bien organisées, ce qui facilite la lecture et l'interprétation.

Intégrer des barres d'erreur

Les barres d'erreur permettent de visualiser l'incertitude ou la variabilité des données. Seaborn propose plusieurs options, notamment les intervalles de confiance et l'écart-type.

Commençons par importer la bibliothèque et charger le jeu de données :

# Importer les bibliothèques requises
import seaborn as sns

# Charger et préparer le jeu tips
tips = sns.load_dataset("tips")

Par défaut, Seaborn affiche des intervalles de confiance à 95 %. Nous pouvons modifier cela avec le paramètre errorbar pour afficher d'autres estimations statistiques :

# Barplot avec intervalles de confiance
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar="ci",                          # Afficher l'intervalle de confiance
    capsize=0.1                            # Ajouter de petites coiffes aux barres d'erreur
)

Rendu :

Nous pouvons aussi afficher l'écart-type plutôt que les intervalles de confiance, pour visualiser la dispersion des données :

# Passer à l'écart-type
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar="sd",                          # Afficher l'écart-type
    capsize=0.1                            # Ajouter de petites coiffes
)

Rendu :

Parfois, on peut souhaiter supprimer totalement les barres d'erreur pour un rendu plus épuré :

# Barplot sans barres d'erreur
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar=None                           # Supprimer les barres d'erreur
)

Rendu :

Ces graphiques montrent comment différents types de barres d'erreur aident à apprécier la variabilité des pourboires selon les jours de la semaine.

Cas d'usage concrets des barplots Seaborn

Les barplots sont des outils polyvalents, particulièrement utiles pour comparer des valeurs entre catégories ou analyser plusieurs variables simultanément. Voyons deux usages courants où Seaborn excelle.

Visualiser les tendances de données catégorielles

Les barplots Seaborn révèlent efficacement des schémas dans des données catégorielles, notamment lors de l'analyse de métriques par groupe. En montrant à la fois la tendance centrale et l'incertitude, ils aident à repérer des différences significatives entre catégories. 

C'est idéal pour analyser les comportements clients, la performance produit ou les réponses à des enquêtes où l'on compare des valeurs entre groupes distincts.

Comparer plusieurs variables

Lorsque l'analyse implique plusieurs facteurs, les barplots Seaborn mettent en évidence des relations complexes. Les options de groupement (hue) ou d'empilement facilitent la comparaison simultanée de variables, et la détection de schémas et d'interactions.

Conclusion 

Les barplots Seaborn allient simplicité et richesse statistique. Sa syntaxe intuitive et ses fonctions robustes en font un indispensable de la visualisation. Des comparaisons catégorielles de base aux visualisations groupées avancées, les barplots aident à mettre au jour et à communiquer efficacement les motifs dans les données.

Prêt à développer vos compétences en visualisation ? Voici la suite :

Envie de passer au niveau supérieur avec Seaborn ? Inscrivez-vous au cours Intermediate Data Visualization with Seaborn.

FAQ sur les barplots Seaborn

À quoi sert un barplot Seaborn ?

Le barplot Seaborn visualise la relation entre une variable catégorielle et une variable numérique en affichant des estimations statistiques avec des barres d'erreur.

Puis-je changer la couleur des barplots Seaborn ?

Oui, vous pouvez personnaliser les couleurs en utilisant le paramètre color pour une couleur unique ou palette pour plusieurs jeux de couleurs.

Puis-je créer des barplots groupés avec Seaborn ?

Oui, utilisez le paramètre hue pour créer des barres groupées selon une variable catégorielle.

Comment ajouter des barres d'erreur à mon barplot Seaborn ?

Utilisez le paramètre errorbar, par ex. errorbar='ci' pour des intervalles de confiance ou errorbar='sd' pour l'écart-type.

Seaborn peut-il créer des barres horizontales ?

Oui, définissez orient='h' dans votre fonction pour tracer des barres horizontales au lieu de verticales.


Author
Rajesh Kumar
LinkedIn

Je suis rédacteur de contenu en science des données. J'aime créer du contenu sur des sujets liés à l'IA/ML/DS. J'explore également de nouveaux outils d'intelligence artificielle et j'écris à leur sujet.

Sujets
Python
Visualisation des données

Top DataCamp Courses

Cours

Introduction à la visualisation de données avec Seaborn

4 h
183.6K
Apprenez à créer des visualisations percutantes et élégantes en Python avec la bibliothèque Seaborn.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow