Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Erstellung von Swarm-Plots | Abschnitt
Statistische Visualisierung mit Seaborn

bookErstellung von Swarm-Plots

Das swarmplot ist dem stripplot sehr ähnlich, bietet jedoch einen entscheidenden Vorteil: Punkte überlappen sich nicht.

Im stripplot wird "Jitter" verwendet, um Punkte zufällig zu streuen, sodass sie nicht direkt übereinander liegen, dennoch können Überlappungen auftreten. Das swarmplot nutzt einen speziellen Algorithmus, um die Punkte entlang der kategorialen Achse so anzuordnen, dass eine klare, nicht überlappende Form entsteht, die der Verteilung der Daten ähnelt (vergleichbar mit einem Violinplot).

Wichtige Parameter

  • dodge=True: Bei Verwendung einer hue-Variable (z. B. zur Unterscheidung von Rauchern und Nichtrauchern) trennt dieser Parameter die Gruppen in separate "Swarms" nebeneinander, anstatt sie zu vermischen;
  • linewidth: Fügt jedem Punkt einen Rand hinzu, wodurch sie auch bei kleiner Größe deutlich erkennbar bleiben.

Beispiel

Hier sieht man, wie sich die Visualisierung durch dodge verändert. Beachten Sie, wie die blauen und orangefarbenen Punkte getrennt dargestellt werden.

1234567891011121314151617
import seaborn as sns import matplotlib.pyplot as plt # Load dataset df = sns.load_dataset('tips') # Create a swarmplot sns.swarmplot( data=df, x='day', y='total_bill', hue='sex', dodge=True, # Separate Male/Female into side-by-side swarms size=4 ) plt.show()
copy
Aufgabe

Swipe to start coding

Visualisierung der Verteilung der Trinkgelder mit einem Swarmplot und individueller Gestaltung.

  1. Festlegen des Stils auf 'whitegrid'. Übergeben eines Dictionaries, um 'axes.facecolor' auf 'seashell' zu setzen.
  2. Erstellen eines Swarmplots mit dem tips-Datensatz (df):
  • Zuordnung von 'day' zu x, 'total_bill' zu y und 'sex' zu hue.
  • Festlegen der Punktgröße (size) auf 2, um mehr Punkte ohne Überlappung darzustellen.
  • Hinzufügen eines Rahmens um die Punkte mit linewidth=1.
  • Seitliche Anordnung der Kategorien (male/female) durch Setzen von dodge=True.
    • Verwendung der 'rocket'-Palette.
  1. Anzeige des Plots.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 10
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

close

bookErstellung von Swarm-Plots

Swipe um das Menü anzuzeigen

Das swarmplot ist dem stripplot sehr ähnlich, bietet jedoch einen entscheidenden Vorteil: Punkte überlappen sich nicht.

Im stripplot wird "Jitter" verwendet, um Punkte zufällig zu streuen, sodass sie nicht direkt übereinander liegen, dennoch können Überlappungen auftreten. Das swarmplot nutzt einen speziellen Algorithmus, um die Punkte entlang der kategorialen Achse so anzuordnen, dass eine klare, nicht überlappende Form entsteht, die der Verteilung der Daten ähnelt (vergleichbar mit einem Violinplot).

Wichtige Parameter

  • dodge=True: Bei Verwendung einer hue-Variable (z. B. zur Unterscheidung von Rauchern und Nichtrauchern) trennt dieser Parameter die Gruppen in separate "Swarms" nebeneinander, anstatt sie zu vermischen;
  • linewidth: Fügt jedem Punkt einen Rand hinzu, wodurch sie auch bei kleiner Größe deutlich erkennbar bleiben.

Beispiel

Hier sieht man, wie sich die Visualisierung durch dodge verändert. Beachten Sie, wie die blauen und orangefarbenen Punkte getrennt dargestellt werden.

1234567891011121314151617
import seaborn as sns import matplotlib.pyplot as plt # Load dataset df = sns.load_dataset('tips') # Create a swarmplot sns.swarmplot( data=df, x='day', y='total_bill', hue='sex', dodge=True, # Separate Male/Female into side-by-side swarms size=4 ) plt.show()
copy
Aufgabe

Swipe to start coding

Visualisierung der Verteilung der Trinkgelder mit einem Swarmplot und individueller Gestaltung.

  1. Festlegen des Stils auf 'whitegrid'. Übergeben eines Dictionaries, um 'axes.facecolor' auf 'seashell' zu setzen.
  2. Erstellen eines Swarmplots mit dem tips-Datensatz (df):
  • Zuordnung von 'day' zu x, 'total_bill' zu y und 'sex' zu hue.
  • Festlegen der Punktgröße (size) auf 2, um mehr Punkte ohne Überlappung darzustellen.
  • Hinzufügen eines Rahmens um die Punkte mit linewidth=1.
  • Seitliche Anordnung der Kategorien (male/female) durch Setzen von dodge=True.
    • Verwendung der 'rocket'-Palette.
  1. Anzeige des Plots.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 10
single

single

some-alt