08 · Explorative Datenanalyse und Datenvisualisierung
verteilung_laktat_nach_grund.png
Abbildung · Quellcode

Erzeugt im Abschnitt „verteilung_laktat_nach_grund" in data/figures.py, Zeile 172–200.
Dieses Skript läuft von oben nach unten. Der gemeinsame Vorspann — Bibliotheken, Kohorte laden, Plot-Stil — steht am Anfang der vollständigen Datei und gilt für alle Abbildungen darin.
Python
Python-Code: in eine Datei mit Endung
.py schreiben und mit dem ▶-Knopf in VS Code ausführen – oder Zeile für Zeile in die Python-Konsole. Setzt die in Modul 02 eingerichtete Umgebung voraus.# --- 07b: Lactate by admission reason (boxplot) --- df_lactate = df.dropna(subset=["laktat_mmol_l"]).copy() order_by_median = (df_lactate.groupby("aufnahmegrund")["laktat_mmol_l"] .median().sort_values(ascending=False).index.tolist()) fig, ax = plt.subplots(figsize=(9, 4.5)) palette_grund = {g: (EVENT if g == "Sepsis" else PRIMARY) for g in order_by_median} bp = sns.boxplot( data=df_lactate, x="aufnahmegrund", y="laktat_mmol_l", hue="aufnahmegrund", order=order_by_median, palette=palette_grund, width=0.5, linewidth=0.9, fliersize=2.5, flierprops=dict(marker="o", alpha=0.4), legend=False, ax=ax, ) sns.stripplot( data=df_lactate, x="aufnahmegrund", y="laktat_mmol_l", hue="aufnahmegrund", order=order_by_median, palette=palette_grund, size=2.2, alpha=0.30, jitter=True, legend=False, ax=ax, ) ax.set_xlabel("") ax.set_ylabel("Laktat (mmol/l)") ax.set_title("Laktatverteilung nach Aufnahmegrund") # Sample size as a second line in each category label (no overlap) n_per_group = df_lactate["aufnahmegrund"].value_counts() ax.set_xticks(range(len(order_by_median))) ax.set_xticklabels([f"{g}\nn = {n_per_group.get(g, 0)}" for g in order_by_median]) save(fig, ASSETS / "08-eda-visualisierung" / "assets" / "verteilung_laktat_nach_grund.png")