Pandas : comment tracer plusieurs colonnes sur un graphique à barres
Vous pouvez utiliser la syntaxe suivante pour tracer plusieurs colonnes d’un DataFrame pandas sur un seul graphique à barres :
df[['x', 'var1', 'var2', 'var3']].plot(x='x', kind='bar')
La colonne x sera utilisée comme variable de l’axe des x et var1 , var2 et var3 seront utilisées comme variables de l’axe des y.
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : tracer des colonnes sur un graphique à barres
Le code suivant montre comment tracer trois colonnes sur un graphique à barres, en spécifiant que la colonne nommée période doit être utilisée comme variable sur l’axe des X :
import pandas as pd import matplotlib.pyplot as plt #create fake data df = pd.DataFrame({'period': [1, 2, 3, 4, 5, 6, 7, 8], 'A': [9, 12, 15, 14, 19, 23, 25, 29], 'B': [5, 7, 7, 9, 12, 9, 9, 14], 'C': [5, 4, 7, 13, 15, 15, 18, 31]}) #plot columns on bar chart df[['period', 'A', 'B', 'C']].plot(x='period', kind='bar')
On pourrait aussi choisir de tracer uniquement certaines colonnes, comme A et B :
df[['period', 'A', 'B']].plot(x='period', kind='bar')
Exemple 2 : tracer des colonnes sur un graphique à barres empilées
Pour créer un graphique à barres empilées, il suffit de spécifier stacked=True dans la fonction plot :
import pandas as pd import matplotlib.pyplot as plt #create fake data df = pd.DataFrame({'period': [1, 2, 3, 4, 5, 6, 7, 8], 'A': [9, 12, 15, 14, 19, 23, 25, 29], 'B': [5, 7, 7, 9, 12, 9, 9, 14], 'C': [5, 4, 7, 13, 15, 15, 18, 31]}) #create stacked bar chart df[['period', 'A', 'B', 'C']].plot(x='period', kind='bar', stacked=True)
Pour changer les couleurs des barres, utilisez simplement l’argument color comme suit :
df[['period', 'A', 'B', 'C']].plot(x='period', kind='bar', stacked=True, color=['red', 'pink', 'gold'])
Ressources additionnelles
Comment tracer plusieurs séries à partir d’un DataFrame Pandas
Comment créer un nuage de points à partir d’un DataFrame Pandas