Pandas traccia più colonne su un grafico a barre con Matplotlib

Suraj Joshi 30 gennaio 2023
  1. Traccia un grafico a barre di più colonne per ciascuna osservazione nel singolo grafico a barre
  2. Grafico a barre in pila di più colonne per ciascuna osservazione nel grafico a barre singolo
Pandas traccia più colonne su un grafico a barre con Matplotlib

In questo tutorial, introdurremo come tracciare più colonne su un grafico a barre usando il metodo plot() dell’oggetto DataFrame.

import pandas as pd

data = [
    ["Rudra", 23, 156, 70],
    ["Nayan", 20, 136, 60],
    ["Alok", 15, 100, 35],
    ["Prince", 30, 150, 85],
]

df = pd.DataFrame(data, columns=["Name", "Age", "Height(cm)", "Weight(kg)"])
print(df)

Produzione:

     Name  Age  Height(cm)  Weight(kg)
0   Rudra   23         156          70
1   Nayan   20         136          60
2    Alok   15         100          35
3  Prince   30         150          85

Useremo il DataFrame df per costruire grafici a barre. Dobbiamo tracciare età, altezza e peso per ogni persona nel DataFrame su un singolo grafico a barre.

Traccia un grafico a barre di più colonne per ciascuna osservazione nel singolo grafico a barre

import pandas as pd
import matplotlib.pyplot as plt

data = [
    ["Rudra", 23, 156, 70],
    ["Nayan", 20, 136, 60],
    ["Alok", 15, 100, 35],
    ["Prince", 30, 150, 85],
]

df = pd.DataFrame(data, columns=["Name", "Age", "Height(cm)", "Weight(kg)"])
df.plot(x="Name", y=["Age", "Height(cm)", "Weight(kg)"], kind="bar", figsize=(9, 8))
plt.show()

Produzione:

Traccia un grafico a barre di più colonne per ciascuna osservazione nel singolo grafico a barre

Genera un grafico a barre per Age, Height e Weight per ogni persona nel dataframe df utilizzando il metodo plot() per l’oggetto df. Passiamo una lista di tutte le colonne da tracciare nel grafico a barre come parametro y nel metodo, e kind="bar" produrrà un grafico a barre per df. Il parametro x verrà variato lungo l’asse X.

Grafico a barre in pila di più colonne per ciascuna osservazione nel grafico a barre singolo

import pandas as pd
import matplotlib.pyplot as plt

employees = ["Rudra", "Alok", "Prince", "Nayan", "Reman"]
earnings = {
    "January": [10, 20, 15, 18, 14],
    "February": [20, 13, 10, 18, 15],
    "March": [20, 20, 10, 15, 18],
}

df = pd.DataFrame(earnings, index=employees)

df.plot(kind="bar", stacked=True, figsize=(10, 8))
plt.legend(loc="lower left", bbox_to_anchor=(0.8, 1.0))
plt.show()

Produzione:

Grafico a barre in pila di più colonne per ciascuna osservazione nel grafico a barre singolo

Visualizza il grafico a barre impilando il valore di una colonna sull’altro per ogni indice nel DataFrame.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn