Data Science · Klinik Klinische Datenanalyse & Machine Learning
Ansicht
Lerntiefe
Codeansicht
Farbschema

08 · Explorative Datenanalyse und Datenvisualisierung

verteilung_laktat_nach_grund.png

Abbildung · Quellcode

verteilung_laktat_nach_grund

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

← zurück zu Modul 08 · vollständige Datei ansehen