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