Swarmplots 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 eenhue-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.
1234567891011121314151617import 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()
Swipe to start coding
Visualiseer de verdeling van fooien met een swarmplot met onderscheidende opmaak.
- Stel de stijl in op
'whitegrid'. Geef een woordenboek door om'axes.facecolor'in te stellen op'seashell'. - Maak een swarmplot met behulp van de
tipsdataset (df):
- Koppel
'day'aanx,'total_bill'aanyen'sex'aanhue. - Stel de punt
sizein op2om 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=Truete gebruiken. - Gebruik het
'rocket'palet.
- Toon de plot.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Geweldig!
Completion tarief verbeterd naar 4.55
Swarmplots 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 eenhue-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.
1234567891011121314151617import 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()
Swipe to start coding
Visualiseer de verdeling van fooien met een swarmplot met onderscheidende opmaak.
- Stel de stijl in op
'whitegrid'. Geef een woordenboek door om'axes.facecolor'in te stellen op'seashell'. - Maak een swarmplot met behulp van de
tipsdataset (df):
- Koppel
'day'aanx,'total_bill'aanyen'sex'aanhue. - Stel de punt
sizein op2om 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=Truete gebruiken. - Gebruik het
'rocket'palet.
- Toon de plot.
Oplossing
Bedankt voor je feedback!
single