Hoe u een gestapeld staafdiagram maakt in panda's


U kunt de volgende basissyntaxis gebruiken om een gestapeld staafdiagram in panda’s te maken:

 df. groupby ([' var1 ', ' var2 ']). size (). unstack (). plot (kind=' bar ', stacked= True )

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: maak een gestapeld staafdiagram in Panda’s

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'F', 'F', 'F'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print (df)

  team position points
0 AG 5
1 AG 7
2AF 7
3 AF 9
4 BG 12
5 BF 9
6 BF 9
7 BF 4

We kunnen de volgende code gebruiken om een gestapeld staafdiagram te maken dat het totale aantal posities weergeeft, gegroepeerd per team :

 df. groupby ([' team ', ' position ']). size (). unstack (). plot (kind=' bar ', stacked= True )

Op de x-as staat de teamnaam en op de y-as het totaal aantal posities voor elk team.

Op het bord kunnen we zien dat team A 2 bewakers (G) en 2 aanvallers (F) heeft, terwijl team B 1 bewaker en 3 aanvallers heeft.

U kunt ook de argumenten kleur en titel gebruiken om de kleur van de balken te wijzigen en een titel aan de grafiek toe te voegen:

 df. groupby ([' team ', ' position ']). size (). unstack (). plot (kind=' bar ', stacked= True ,
            color=[' steelblue ',' pink '], title=' Position Count by Team ')

gestapeld staafdiagram in panda's

Er is een titel toegevoegd aan de bovenkant van het plot en de balkkleuren zijn veranderd in staalblauw en roze, zoals we hadden gespecificeerd.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere algemene diagrammen in Python kunt maken:

Hoe u hittekaarten maakt in Python
Hoe u een belcurve maakt in Python
Hoe u een Ogive-diagram maakt in Python

Einen Kommentar hinzufügen

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