Hoe boxplots op de x-as in seaborn te bestellen


U kunt de volgende methoden gebruiken om de volgorde van boxplots langs de x-as in Seaborn te wijzigen:

Methode 1: Boxplots sorteren met aangepaste volgorde

 sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=[' A ',' B ',' C '])

Methode 2: Boxplots sorteren met behulp van een metriek

 group_means=df. groupby ([' group_var '])[' values_var ']. mean (). sort_values (ascending= True )

sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=group_means. index )

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame, waarin de punten worden weergegeven die zijn gescoord door basketbalspelers uit drie verschillende teams:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B',
                            'B', 'B', 'C', 'C', 'C', 'C', 'C'],
                   ' points ': [3, 4, 6, 8, 9, 10, 13, 16, 18, 20, 8, 9, 12, 13, 15]})

#view head of DataFrame
print ( df.head ())

  team points
0 to 3
1 to 4
2 to 6
3 to 8
4 to 9

Voorbeeld 1: Boxplots bestellen via een aangepaste volgorde

De volgende code laat zien hoe u een boxplot maakt om de puntenverdeling voor elk team te visualiseren en de boxplots in de volgende volgorde te rangschikken op basis van de teamnaam: C, A, B.

 import seaborn as sns

#create boxplots with custom order
sns. boxplot (x=' team ', y=' points ', data=df, order=[' C ', ' A ', ' B '])

Merk op dat de boxplots langs de x-as zijn gerangschikt in de exacte volgorde die we hebben opgegeven.

Voorbeeld 2: Boxplots bestellen met behulp van een metriek

De volgende code laat zien hoe u een boxplot maakt om de puntenverdeling voor elk team te visualiseren en de boxplots in oplopende volgorde te rangschikken op basis van de gemiddelde punten die per team zijn gescoord:

 import seaborn as sns

#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= True )

#create boxplots ordered by mean points (ascending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index )

Houd er rekening mee dat de boxplots langs de x-as zijn gerangschikt op basis van de gemiddelde puntenwaarde per team, in oplopende volgorde.

Om de boxplots in aflopende volgorde weer te geven, geeft u eenvoudigweg oplopend=False op in de functie sort_values() :

 import seaborn as sns

#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= False )

#create boxplots ordered by mean points (descending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index ) 

Boxplots worden nu langs de x-as gerangschikt op basis van de gemiddelde puntenwaarde per team in aflopende volgorde.

Opmerking : om de boxplots te sorteren op basis van een andere metriek (bijvoorbeeld mediaan), specificeert u eenvoudigweg die metriek na de functie groupby() in de bovenstaande code.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in Seaborn kunt uitvoeren:

Hoe u uitschieters uit een Seaborn-boxplot verwijdert
Hoe u een boxplot met meerdere kolommen maakt in Seaborn

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert