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')

Les pandas tracent plusieurs colonnes dans un graphique à barres

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)

Graphique à barres empilées avec colonnes pandas

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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *