Comment créer des graphiques à barres empilées dans Matplotlib (avec exemples)



Un graphique à barres empilées est un type de graphique qui utilise des barres pour afficher les fréquences de différentes catégories.

Nous pouvons créer ce type de graphique dans Matplotlib en utilisant la fonction matplotlib.pyplot.bar() .

Ce tutoriel montre comment utiliser cette fonction en pratique.

Créer un graphique à barres empilées de base

Le code suivant montre comment créer un graphique à barres empilées pour afficher les ventes totales de deux produits au cours de quatre trimestres de vente différents :

import numpy as np
import matplotlib.pyplot as plt

#create data
quarter = ['Q1', 'Q2', 'Q3', 'Q4']
product_A = [14, 17, 12, 9]
product_B = [7, 15, 24, 18]

#define chart parameters
N = 4 
barWidth = .5
xloc = np.arange(N)

#display stacked bar chart
p1 = plt.bar(xloc, product_A, width=barWidth)
p2 = plt.bar(xloc, product_B, bottom=product_A, width=barWidth)
plt.show()

Graphique à barres empilées dans Matplotlib

Ajouter un titre, des étiquettes et une légende

Nous pouvons également ajouter un titre, des étiquettes, des graduations et une légende pour rendre le graphique plus facile à lire :

import numpy as np
import matplotlib.pyplot as plt

#create data for two teams
quarter = ['Q1', 'Q2', 'Q3', 'Q4']
product_A = [14, 17, 12, 9]
product_B = [7, 15, 24, 18]

#define chart parameters
N = 4 
barWidth = .5
xloc = np.arange(N)

#create stacked bar chart
p1 = plt.bar(xloc, product_A, width=barWidth)
p2 = plt.bar(xloc, product_B, bottom=product_A, width=barWidth)

#add labels, title, tick marks, and legend
plt.ylabel('Sales')
plt.xlabel('Quarter')
plt.title('Sales by Product & Quarter')
plt.xticks(xloc, ('Q1', 'Q2', 'Q3', 'Q4'))
plt.yticks(np.arange(0, 41, 5))
plt.legend((p1[0], p2[0]), ('A', 'B'))

#display chart
plt.show()

Graphique à barres empilées dans Matplotlib

Personnaliser les couleurs du graphique

Enfin, nous pouvons personnaliser les couleurs utilisées dans le graphique avec l’argument colours() dans plt.bar() :

import numpy as np
import matplotlib.pyplot as plt

#create data for two teams
quarter = ['Q1', 'Q2', 'Q3', 'Q4']
product_A = [14, 17, 12, 9]
product_B = [7, 15, 24, 18]

#define chart parameters
N = 4 
barWidth = .5
xloc = np.arange(N)

#create stacked bar chart
p1 = plt.bar(xloc, product_A, width=barWidth, color='springgreen')
p2 = plt.bar(xloc, product_B, bottom=product_A, width=barWidth, color='coral')

#add labels, title, tick marks, and legend
plt.ylabel('Sales')
plt.xlabel('Quarter')
plt.title('Sales by Product & Quarter')
plt.xticks(xloc, ('Q1', 'Q2', 'Q3', 'Q4'))
plt.yticks(np.arange(0, 41, 5))
plt.legend((p1[0], p2[0]), ('A', 'B'))

#display chart
plt.show()

Graphique à barres empilées Matplotlib avec des couleurs personnalisées

Vous pouvez trouver une liste complète des couleurs disponibles dans la documentation Matplotlib .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Matplotlib :

Comment modifier la taille des polices sur un tracé Matplotlib
Comment supprimer les tiques des tracés Matplotlib
Comment afficher le quadrillage sur les tracés Matplotlib

Ajouter un commentaire

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