Funzione Pandas DataFrame DataFrame.plot.bar()

Minahil Noor 30 gennaio 2023
  1. Sintassi di pandas.DataFrame.plot.bar()
  2. Codici di esempio: DataFrame.plot.bar()
  3. Codici di esempio: DataFrame.plot.bar() con più colonne di dati
  4. Codici di esempio: DataFrame.plot.bar() con subplots=True per creare sottotrame
  5. Codici di esempio: DataFrame.plot.bar() per tracciare una singola colonna di dati
  6. Codici di esempio: DataFrame.plot.bar() con i colori specificati
Funzione Pandas DataFrame DataFrame.plot.bar()

La funzione Python Pandas DataFrame.plot.bar() traccia un grafico a barre lungo l’asse specificato. Traccia il grafico in categorie. Le categorie sono date sull’asse x ei valori sono dati sull’asse y.

Sintassi di pandas.DataFrame.plot.bar()

DataFrame.sample(x=None, y=None, **kwds)

Parametri

x Questo è l’asse in cui verranno tracciate le categorie. Se non è specificato, viene utilizzato l’indice del DataFrame.
y Rappresenta i valori che vengono tracciati rispetto alle categorie. Se non è specificato, traccia tutte le colonne numeriche del DataFrame rispetto alle categorie.
**kwds Questi sono gli argomenti della parola chiave aggiuntivi per personalizzare il grafico tracciato. Puoi controllare questi qui.

Ritorno

Restituisce un array N-dimensionale. Se subplots=True, restituisce un array N-dimensionale con matplotlib.axes.Axes per colonna.

Codici di esempio: DataFrame.plot.bar()

Per prima cosa comprendiamo questa funzione utilizzando un semplice DataFrame.

import pandas as pd
dataframe = pd.DataFrame({'Value':[100, 200, 300]})
print(dataframe)

Il nostro DataFrame è il seguente.

 Value
0  100
1  200
2  300

Tutti i parametri di questa funzione sono opzionali. Se eseguiamo questa funzione senza passare alcun parametro, prende l’indice come asse x e le colonne di dati numerici come asse y.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame({"Value": [100, 200, 300]})
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()

Produzione:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar Basic

Il parametro rot è un parametro di parola chiave aggiuntivo. Cambia la rotazione dei nomi delle categorie sull’asse x.

La trama apparirà come sotto se non impostiamo rot.

Pandas DataFrame.plot.bar Basic - non impostato rot

Codici di esempio: DataFrame.plot.bar() con più colonne di dati

Ora, cambieremo il nostro DataFrame in uno complesso.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
print(dataframe)

Il nostro DataFrame assomiglia

        Age  Avg Age in Family
Olivia   23                 70
John     17                 65
Laura    40                 80
Ben      38                 55
Kevin    24                 60
Robin    12                 63
Elsa     45                 90

Traccia questo DataFrame utilizzando la funzione DataFrame.plot.bar()

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0)
print(axis)
plt.show()

Produzione:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar con più colonne

Genera un grafico a barre contenente due barre di dati numerici di ciascuna categoria. Aiuta ad analizzare i dati in modo efficiente.

Codici di esempio: DataFrame.plot.bar() con subplots=True per creare sottotrame

Se subplots=True, la funzione restituisce un array N-dimensionale con matplotlib.axes.Axes per colonna. Usando questo, possiamo separare le nostre colonne di dati in diversi sottotrame invece di un singolo grafico.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axes = dataframe.plot.bar(rot=0, subplots=True)
print(axes)
plt.show()

Produzione:

[<matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B06DC8>
 <matplotlib.axes._subplots.AxesSubplot object at 0x0000029A89B4B2C8>]

Pandas DataFrame.plot.bar Sottotrame

Codici di esempio: DataFrame.plot.bar() per tracciare una singola colonna di dati

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(y="Age", rot=0)
print(axis)
plt.show()

Produzione:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar Traccia singola colonna

Possiamo anche tracciare qualsiasi colonna di dati rispetto ad altre colonne invece di tracciare gli indici come categorie.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(x="Age", rot=0)
print(axis)
plt.show()

Produzione:

AxesSubplot(0.125,0.125;0.775x0.755)

Pandas DataFrame.plot.bar - Usa una colonna come asse X

Codici di esempio: DataFrame.plot.bar() con i colori specificati

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color="m")
plt.show()

Pandas DataFrame.plot.bar - Colore unico per colonne diverse

Specifica il colore m per tutte le colonne nel DataFrame.

import pandas as pd
import matplotlib.pyplot as plt

dataframe = pd.DataFrame(
    {
        "Age": [23, 17, 40, 38, 24, 12, 45],
        "Avg Age in Family": [70, 65, 80, 55, 60, 63, 90],
    },
    index=["Olivia", "John", "Laura", "Ben", "Kevin", "Robin", "Elsa"],
)
axis = dataframe.plot.bar(rot=0, color=["r", "b"])
print(axis)
plt.show()

Pandas DataFrame.plot.bar - Colori diversi per colonne diverse

Potremmo anche specificare colori differenti per colonne differenti nel DataFrame dando una lista di colori al parametro color.

Articolo correlato - Pandas DataFrame

Articolo correlato - Pandas DataFrame Plot