Hoe de volgorde van de staven in seaborn barplot te veranderen


U kunt de volgende methoden gebruiken om de volgorde van staven in een maritiem plot te wijzigen:

Methode 1: Sorteer staven in Barplot gemaakt op basis van onbewerkte gegevens

 sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df. sort_values (' yvar '). xvar )

Methode 2: Sorteer staven in Barplot gemaakt op basis van geaggregeerde gegevens

 sns. barplot (x=' xvar ', y=' yvar ', data=df, order=df_agg[' xvar ']

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.

Voorbeeld 1: Sorteer staven in een staafdiagram gemaakt op basis van onbewerkte gegevens

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de totale omzet van verschillende werknemers van een bedrijf:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' employee ': ['Andy', 'Bert', 'Chad', 'Doug', 'Eric', 'Frank'],
                   ' sales ': [22, 14, 9, 7, 29, 20]})

#view DataFrame
print (df)

  employee sales
0 Andy 22
1 Bert 14
2 Chad 9
3 Doug 7
4 Eric 29
5 Frank 20

We kunnen de volgende syntaxis gebruiken om een staafdiagram te maken waarin de staven in oplopende volgorde worden gesorteerd op basis van de verkoopwaarde :

 import seaborn as sns

#create barplot with bars sorted by sales values ascending
sns. barplot (x=' employee ', y=' sales ', data=df, order=df. sort_values (' sales '). employee )

Om de staven in aflopende volgorde te sorteren, gebruikt u eenvoudigweg oplopend=False in de functie sort_values() :

 import seaborn as sns

#create barplot with bars sorted by sales values descending
sns. barplot (x=' employee ', y=' sales ', data=df,
            order=df. sort_values (' sales ', ascending= False ). employee ) 

Voorbeeld 2: Sorteerstaven in een staafdiagram gemaakt op basis van geaggregeerde gegevens

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de totale omzet van verschillende werknemers van een bedrijf:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' employee ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
                   ' sales ': [24, 20, 25, 14, 19, 13, 30, 35, 28]})

#view DataFrame
print (df)

  employee sales
0 to 24
1 to 20
2 to 25
3 B 14
4 B 19
5 B 13
6 C 30
7 C 35
8 C 28

We kunnen de volgende syntaxis gebruiken om de gemiddelde verkoopwaarde te berekenen, gegroepeerd per werknemer :

 #calculate mean sales by employee
df_agg = df. groupby ([' employee '])[' sales ']. mean (). reset_index (). sort_values (' sales ')

#view aggregated data
print (df_agg)

  employee sales
1 B 15.333333
0 to 23.000000
2 C 31.000000

We kunnen vervolgens de volgende syntaxis gebruiken om in Seaborn een staafdiagram te maken dat de gemiddelde omzet per werknemer weergeeft, waarbij de balken in oplopende volgorde worden weergegeven:

 import seaborn as sns

#create barplot with bars ordered in ascending order by mean sales
sns. barplot (x=' employee ', y=' sales ', data=df,
            order=df_agg[' employee '], errorbar=(' ci ', False )) 

Op de X-as wordt de naam van de werknemer weergegeven en op de Y-as wordt de gemiddelde verkoopwaarde voor elke werknemer weergegeven.

Aanvullende bronnen

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

Hoe waarden weer te geven op Seaborn Barplot
Hoe maak je een gegroepeerd barplot in Seaborn?
Hoe u de kleur van staven in een Seaborn-barplot instelt

Einen Kommentar hinzufügen

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