Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Swarmplots Maken | Sectie
Practice
Projects
Quizzes & Challenges
Quizzen
Challenges
/
Statistische Visualisatie Met Seaborn

bookSwarmplots Maken

De swarmplot lijkt sterk op de stripplot, maar heeft een belangrijk voordeel: punten overlappen niet.

In een stripplot wordt "jitter" gebruikt om punten willekeurig te verspreiden zodat ze niet boven op elkaar liggen, maar overlappingen kunnen nog steeds voorkomen. De swarmplot gebruikt een specifiek algoritme om de punten langs de categorische as aan te passen, zodat ze een duidelijke, niet-overlappende vorm vormen die de verdeling van de data weergeeft (vergelijkbaar met een violin plot).

Belangrijke parameters

  • dodge=True: bij gebruik van een hue-variabele (bijvoorbeeld het scheiden van rokers en niet-rokers), zorgt deze parameter ervoor dat de groepen als afzonderlijke "swarms" naast elkaar worden weergegeven, in plaats van ze te mengen;
  • linewidth: voegt een rand toe rond elk punt, waardoor ze duidelijk zichtbaar blijven, zelfs als ze klein zijn.

Voorbeeld

Hier zie je hoe dodge de visualisatie verandert. Let op hoe de blauwe en oranje punten gescheiden zijn.

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
Taak

Swipe to start coding

Visualiseer de verdeling van fooien met een swarmplot met onderscheidende opmaak.

  1. Stel de stijl in op 'whitegrid'. Geef een woordenboek door om 'axes.facecolor' in te stellen op 'seashell'.
  2. Maak een swarmplot met behulp van de tips dataset (df):
  • Koppel 'day' aan x, 'total_bill' aan y en 'sex' aan hue.
  • Stel de punt size in op 2 om meer punten te tonen zonder overlap.
  • Voeg een rand toe aan de punten met linewidth=1.
  • Plaats de categorieën (male/female) naast elkaar door dodge=True te gebruiken.
  • Gebruik het 'rocket' palet.
  1. Toon de plot.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 10
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

close

bookSwarmplots Maken

Veeg om het menu te tonen

De swarmplot lijkt sterk op de stripplot, maar heeft een belangrijk voordeel: punten overlappen niet.

In een stripplot wordt "jitter" gebruikt om punten willekeurig te verspreiden zodat ze niet boven op elkaar liggen, maar overlappingen kunnen nog steeds voorkomen. De swarmplot gebruikt een specifiek algoritme om de punten langs de categorische as aan te passen, zodat ze een duidelijke, niet-overlappende vorm vormen die de verdeling van de data weergeeft (vergelijkbaar met een violin plot).

Belangrijke parameters

  • dodge=True: bij gebruik van een hue-variabele (bijvoorbeeld het scheiden van rokers en niet-rokers), zorgt deze parameter ervoor dat de groepen als afzonderlijke "swarms" naast elkaar worden weergegeven, in plaats van ze te mengen;
  • linewidth: voegt een rand toe rond elk punt, waardoor ze duidelijk zichtbaar blijven, zelfs als ze klein zijn.

Voorbeeld

Hier zie je hoe dodge de visualisatie verandert. Let op hoe de blauwe en oranje punten gescheiden zijn.

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
Taak

Swipe to start coding

Visualiseer de verdeling van fooien met een swarmplot met onderscheidende opmaak.

  1. Stel de stijl in op 'whitegrid'. Geef een woordenboek door om 'axes.facecolor' in te stellen op 'seashell'.
  2. Maak een swarmplot met behulp van de tips dataset (df):
  • Koppel 'day' aan x, 'total_bill' aan y en 'sex' aan hue.
  • Stel de punt size in op 2 om meer punten te tonen zonder overlap.
  • Voeg een rand toe aan de punten met linewidth=1.
  • Plaats de categorieën (male/female) naast elkaar door dodge=True te gebruiken.
  • Gebruik het 'rocket' palet.
  1. Toon de plot.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 10
single

single

some-alt