Slopegraph
Ein Slopegraph zeigt Veränderungen einzelner Kategorien zwischen zwei Zeitpunkten und eignet sich besonders für Vorher-Nachher-Vergleiche.

Funktion
def slopegraph(
df: pd.DataFrame,
category_col: str,
year_col: str,
value_col: str,
title: str = "Slopegraph",
**kwargs
) -> ggplot:
Parameter:
- df (
pandas.DataFrame): DataFrame mit den Daten für den Plot. - category_col (
str): Name der Spalte für die Kategorien (z.B. Länder). - year_col (
str): Name der Spalte für die Zeitpunkte (z.B. Jahre). - value_col (
str): Name der Spalte für die Werte (numerisch). - title (
str, optional): Titel des Plots. - kwargs: Zusätzliche Argumente für geom_line (z.B. color, alpha).
Rückgabewert:
- plot (
plotnine.ggplot): Ein ggplot-Objekt mit dem Slopegraph.
Anwendungsbeispiel
Der folgende Beispielcode erzeugt den abgebildeten Beispieloutput.
import pandas as pd
import dufteplots as dp
# Beispieldaten
countries = ["Switzerland", "USA", "Germany", "Sweden", "Japan"]
y1970 = [32.5, 31.0, 36.0, 34.0, 29.0]
y1979 = [31.0, 33.5, 37.0, 35.0, 30.0]
data_slope = []
for country, v70, v79 in zip(countries, y1970, y1979):
trend = "Increase" if v79 > v70 else "Decrease"
data_slope.append({"Country": country, "Year": "1970", "Value": v70, "Trend": trend})
data_slope.append({"Country": country, "Year": "1979", "Value": v79, "Trend": trend})
df = pd.DataFrame(data_slope)
# Slopegraph erstellen
plot = dp.slopegraph(
df,
category_col="Country",
year_col="Year",
value_col="Value",
title="Government Receipts as % of GDP (1970 vs 1979)"
)
# Plot anzeigen
plot.show()