Definition: Säulendiagramm

Ein Säulendiagramm (en. Bar Chart), ist ein Diagrammtyp, der verwendet wird, um Daten durch rechteckige Balken (Säulen) zu visualisieren.

Dabei eignen sich Säulendiagramme besonders gut, zur Darstellung absoluter Wertunterschiede1.

Jeder Balken repräsentiert eine Kategorie von Daten, und die Höhe der Balken ist proportional zu dem Wert, den sie darstellen.

  • Regeln:
    • die Säulen müssen bei Null beginnen.

    • Säulendiagramme sind gut für Daten mit kurzen Bezeichnern, geringer Variation und nur wenigen negativen Werten geeignet.

    • Balkendiagramme sind gut für Daten mit längeren Bezeichnern, hoher Variation und negativen Werten geeignet.

Anmerkung

Lügen mit Säulendiagramme

Startet der Wertebereich nicht bei Null, so ist es sehr leicht, mit Säulendiagrammen zu lügen.

Die folgende Grafik stellt eine Gehaltserhöhung so dar, als würde das Gehalt verdoppelt. Tatsächlich ist es aber nur eine Erhöhung um 26%.

1

Säulendiagramm mit Seaborn

In Python erhalten wir ein Säulendiagramm durch

df_kueche_marketing = df[
    (df["abteilung"] == "Kueche") | (df["abteilung"] == "Marketing")
]
 
ax = sns.barplot(
    data=df_kueche_marketing,
    x="abteilung",
    y="interesse",
    estimator="sum",
    errorbar=None,
)
 
 
ax.set_xlabel("Abteilung")
ax.set_ylabel("Anzahl Interessenten")
ax.set_title("Interesse an Fortbildung")
 
fig = ax.get_figure()
fig.set_dpi(150)
plt.show()

Das zugehörige Balkendiagramm erhalten wir, indem wir x und y tauschen, also

ax = sns.barplot(
    data=df_kueche_marketing,
    y="abteilung",
    x="interesse",
    estimator="sum",
    errorbar=None,
)

Fehlende Ticks

Fehlen in einem Plot Ticks, so kann

  • entweder die Größe des Plots mit bspw. plt.ylim(0, 3.25) erhöht werden
  • oder es können “Zwischenticks” mit plt.minorticks_on() (oder ax.minorticks_on()) hinzugefügt werden.

An einem Beispiel:

ax = sns.barplot(data=df_kueche_marketing, y="tage", x="abteilung", errorbar=None)
 
ax.minorticks_on()
ax.set_xlabel("Abteilung")
ax.set_ylabel("Anzahl Interessenten")
ax.set_title("Interesse an Fortbildung")
 
fig = ax.get_figure()
fig.set_dpi(150)
plt.ylim(0, 3.25)
plt.show()

Footnotes

  1. Während Liniendiagramme sich besonders gut für die Darstellung von Änderungsraten eignen. 2