HOWTO · Seaborn

Legen Sie die Hintergrundfarbe von Seaborn-Plots fest

Dieses Tutorial zeigt, wie Sie die Hintergrundfarbe von Seaborn-Plots in Python festlegen. Lernen Sie verschiedene Methoden kennen, um Ihre Plots anzupassen, darunter set_style, set_palette und direkte Einstellungen für den Figure-Hintergrund. Werten Sie Ihre Datenvisualisierungen mit ansprechenden Hintergründen auf und lassen Sie Ihre Erkenntnisse hervorstechen. Entdecken Sie Techniken, um stimmige und visuell ansprechende Grafiken zu erstellen, die Ihre Datengeschichte wirkungsvoll vermitteln.

Auf dieser Seite

Um eine genaue Hintergrundfarbe für einen Seaborn-Plot festzulegen, übergeben Sie die Matplotlib-Einstellungen axes.facecolor und figure.facecolor an seaborn.set(). Die Einstellung für die Achsen färbt den Plotbereich, die Einstellung für die Figure die umgebende Zeichenfläche. Für ein schnell abgestimmtes Erscheinungsbild können Sie stattdessen mit seaborn.set_style() einen voreingestellten Stil wählen. Verwenden Sie die Einstellung für eine genaue Farbe, wenn Sie einen bestimmten Farbton benötigen, und einen voreingestellten Stil, wenn dessen Kombination aus Hintergrund, Raster und Teilstrichen zu Ihrem Plot passt.

Eine genaue Hintergrundfarbe mit Seaborn und Matplotlib festlegen

Übergeben Sie seaborn.set() ein rc-Dictionary mit den Matplotlib-Einstellungen, die Sie ändern möchten. Sowohl Farbnamen als auch Hexadezimalwerte werden akzeptiert. Dieses eigenständige Beispiel verwendet einen hellblauen Plotbereich und eine fast weiße Figure-Zeichenfläche und speichert anschließend die Figure:

Führen Sie dieses Beispiel aus:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set(rc={
    "axes.facecolor": "#EAF2F8",
    "figure.facecolor": "#F7F9FC",
})

fig, ax = plt.subplots()
sns.scatterplot(x=[1, 2, 3], y=[2, 4, 3], ax=ax)
fig.savefig("seaborn-background.png", dpi=150, bbox_inches="tight")

Ändern Sie einen der beiden Farbwerte in einen Farbnamen wie lightblue oder in einen anderen Hexadezimalwert. Die Einstellungen gelten für Plots, die nach diesem Aufruf erstellt werden. Für eine einzelne Achse oder Figure legen Sie die Hintergrundfarbe direkt fest, wie unten beschrieben.

Einen Hintergrund mit einem Seaborn-Stil auswählen

Mit seaborn.set_style() wählen Sie einen voreingestellten Stil, der mehrere visuelle Eigenschaften gemeinsam steuert. Verfügbare Stile sind darkgrid, whitegrid, dark, white und ticks. Beispielsweise verleiht sns.set_style("whitegrid") den Achsen einen hellen Hintergrund mit Rasterlinien, während sns.set_style("dark") einen dunklen Plotbereich ohne Raster verwendet. Ein Stil verändert mehr als nur den Hintergrund. Wählen Sie daher einen, dessen Raster und Teilstriche ebenfalls zu den Daten passen.

Eine Farbpalette legt die Farben für Datenreihen fest, und der Kontext passt Größen wie Beschriftungs- und Liniengrößen an. sns.set_palette("deep") und sns.set_context("notebook") können die Markierungen und den Text eines Plots auf seinen Stil abstimmen, legen aber selbst keine Hintergrundfarbe fest. Für eine einheitliche Konfiguration kann sns.set() Stil, Palette, Kontext und rc-Einstellungen gemeinsam übernehmen.

Figure- und Achsenhintergründe direkt festlegen

Verwenden Sie Matplotlib-Objekte, wenn eine Farbe nur eine Figure oder einen Plotbereich betreffen soll. Nach fig, ax = plt.subplots() ändert fig.patch.set_facecolor("#F7F9FC") die gesamte Figure-Zeichenfläche einschließlich des Rands um die Achsen. ax.set_facecolor("#EAF2F8") ändert nur den Plotbereich dieser Achse. Das ist nützlich, wenn verschiedene Achsen in einer Abbildung mit mehreren Plots unterschiedliche Hintergründe benötigen. Rufen Sie set_facecolor() für jede Achse auf, die eine eigene Farbe erhalten soll.

Die über Seaborn übergebenen Werte figure.facecolor und axes.facecolor dienen als Vorgaben für anschließend erstellte Figures und Achsen. Direkte Setter ändern gezielt die Objekte, die bereits vorhanden sind. So bleibt ihr Geltungsbereich eindeutig und spätere Plots werden nicht beeinflusst.

Plotgestaltung abstimmen, Figure speichern und Lesbarkeit prüfen

Das obige Beispiel kombiniert einen genau festgelegten Hintergrund mit einem Seaborn-Streudiagramm und speichert es mit fig.savefig(). Rufen Sie die Speichermethode der Figure auf, nachdem Sie den Plot erstellt und seine Farben festgelegt haben. Wenn Sie stattdessen plt.savefig() verwenden, muss die gewünschte Figure gerade aktiv sein. Zum Speichern muss der Plot nicht zuerst angezeigt werden.

Achten Sie auf ausreichenden Kontrast zwischen Hintergrund, Datenmarkierungen, Beschriftungen und Rasterlinien. Ein dunkler Hintergrund kann gut mit hellen Markierungen harmonieren, während ein heller Hintergrund meist dunkle Markierungen unterstützt. Prüfen Sie, ob die Rasterlinien sichtbar bleiben, ohne mit den Daten zu konkurrieren. Seaborn akzeptiert die üblichen Matplotlib-Farbangaben, darunter Farbnamen und Hexadezimalwerte. Wählen Sie daher Farben, die sowohl auf dem Bildschirm als auch im gespeicherten Bild gut lesbar sind.