Barres Seaborn et Barres empilées

Manav Narula 24 juin 2021
Barres Seaborn et Barres empilées

Un diagramme à barres est utilisé pour représenter les valeurs observées en barres rectangulaires. Le module seaborn en Python utilise la fonction seaborn.barplot() pour créer des graphiques à barres.

Consultez le code ci-dessous pour créer un graphique à barres simple pour le prix d’un produit sur différents jours.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Price 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day": [1, 2, 3, 4, 5, 6, 7, 8]}
)

s1 = sns.barplot(x="Day", y="Price 1", data=df, color="red")

barplot empilé seaborn 1

Dans ce didacticiel, nous allons apprendre à créer des graphiques à barres empilées dans Seaborn.

Lorsque nous parlons de diagrammes à barres empilées, ce que nous voulons dire, c’est que nous avons deux ensembles d’observations ou plus représentés sur le même graphique. Cela donne au graphique global un aspect empilé, avec un ensemble d’observations placé sur le second ensemble.

Nous n’avons pas de fonction permettant de créer directement de tels graphiques à barres empilées, mais nous pouvons utiliser la méthode traditionnelle seaborn.barplot() pour tracer deux graphiques à barres individuels et les placer tous les deux l’un sur l’autre.

Nous implémentons cette logique dans le code suivant.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Price 1": [7, 1, 5, 6, 3, 10, 5, 8],
        "Price 2": [1, 2, 8, 4, 3, 9, 5, 2],
        "Day": [1, 2, 3, 4, 5, 6, 7, 8],
    }
)

s1 = sns.barplot(x="Day", y="Price 1", data=df, color="red")

s2 = sns.barplot(x="Day", y="Price 2", data=df, color="blue")

barplot empilé seaborn 2

Dans le graphique ci-dessus, nous avons tracé le prix de deux produits sur des jours différents sur un graphique à barres.

Si nous le voulons, nous pouvons représenter un ensemble d’observations pour des valeurs catégorielles sur le même diagramme à barres. Le résultat final ne sera pas celui d’un look empilé, mais il représentera les observations sur le même graphique sur plusieurs barres.

Consultez le code suivant.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Price": [7, 1, 5, 6, 3, 10, 5, 8],
        "Product": ["C1", "C2", "C1", "C2", "C1", "C2", "C1", "C2"],
        "Day": [1, 1, 2, 2, 3, 3, 4, 4],
    }
)

s = sns.barplot(x="Day", y="Price", data=df, hue="Product")

barplot empilé seaborn 3

Nous avons pu tracer le prix de 2 produits sur 4 jours différents sur le même graphique. Nous donnons aux axes x et y la valeur souhaitée pour le graphique à barres et utilisons le paramètre hue pour regrouper les observations pour différentes catégories, de sorte qu’il crée différentes barres sur le même graphique. De cette façon, la sortie finale est beaucoup plus propre et tout est fait en utilisant une seule fonction.

Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn