Come creare un grafico a barre in pila in pandas


È possibile utilizzare la seguente sintassi di base per creare un grafico a barre in pila in Pandas:

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

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: crea un grafico a barre in pila in Pandas

Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:

 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

Possiamo utilizzare il seguente codice per creare un grafico a barre in pila che mostri il numero totale di posizioni , raggruppate per squadra :

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

L’asse x mostra il nome della squadra e l’asse y mostra il numero totale di posizioni per ciascuna squadra.

Sul tabellone possiamo vedere che la squadra A ha 2 guardie (G) e 2 attaccanti (F) mentre la squadra B ha 1 guardia e 3 attaccanti.

Puoi anche utilizzare gli argomenti colore e titolo per modificare il colore delle barre e aggiungere un titolo al grafico:

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

grafico a barre in pila nei panda

È stato aggiunto un titolo nella parte superiore della trama e i colori delle barre sono stati cambiati in blu acciaio e rosa, come specificato.

Risorse addizionali

I seguenti tutorial spiegano come creare altri grafici comuni in Python:

Come creare mappe di calore in Python
Come creare una curva a campana in Python
Come creare un grafico a ogiva in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *