Seaborn Bar und Stacked Bar Plots

Manav Narula 9 Mai 2021
Seaborn Bar und Stacked Bar Plots

Ein Balkendiagramm wird verwendet, um die beobachteten Werte in rechteckigen Balken darzustellen. Das Modul seaborn in Python verwendet die Funktion seaborn.barplot(), um Balkendiagramme zu erstellen.

Im folgenden Code können Sie ein einfaches Balkendiagramm für den Preis eines Produkts über verschiedene Tage erstellen.

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")

Seaborn gestapelt Barplot 1

In diesem Tutorial erfahren Sie, wie Sie in Seaborn gestapelte Balkendiagramme erstellen.

Wenn wir über gestapelte Balkendiagramme sprechen, meinen wir, dass zwei oder mehr Sätze von Beobachtungen in demselben Diagramm dargestellt sind. Dies verleiht dem Gesamtdiagramm ein gestapeltes Aussehen, wobei ein Satz von Beobachtungen über dem zweiten Satz platziert wird.

Wir haben keine Funktion, mit der solche gestapelten Balkendiagramme direkt erstellt werden können, aber wir können die traditionelle Methode seaborn.barplot() verwenden, um zwei einzelne Balkendiagramme zu zeichnen und beide übereinander zu platzieren.

Wir implementieren diese Logik im folgenden Code.

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")

Seaborn Stacked Barplot 2

In der obigen Grafik haben wir den Preis von zwei Waren über verschiedene Tage in einem Balkendiagramm dargestellt.

Wenn wir möchten, können wir eine Reihe von Beobachtungen für kategoriale Werte auf demselben Balkendiagramm darstellen. Das Endergebnis ist nicht das eines gestapelten Looks, sondern es repräsentiert die Beobachtungen in demselben Diagramm auf mehreren Balken.

Siehe den folgenden Code.

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")

Seaborn gestapelt Barplot 3

Wir konnten den Preis für 2 Produkte an 4 verschiedenen Tagen in derselben Grafik darstellen. Wir geben der x- und y-Achse den gewünschten Wert für das Balkendiagramm und verwenden den Parameter hue, um die Beobachtungen für verschiedene Kategorien so zu gruppieren, dass unterschiedliche Balken im selben Diagramm erstellt werden. Auf diese Weise ist die endgültige Ausgabe viel sauberer und alles wird mit nur einer Funktion erledigt.

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