Diagrammes à Barres Groupées
Une autre option courante est un diagramme à barres groupées, où les barres de chaque catégorie sont placées côte à côte au lieu d'être empilées.
Cela est utile lorsque l'on souhaite comparer des catégories entre différents groupes (comme les secteurs économiques dans différents pays), plutôt qu'au sein d'un total unique.
Étapes pour créer un diagramme à barres groupées
Définir une largeur de barre et créer un tableau pour les positions de l’axe des x à l’aide de
np.arange()
;Combiner les données de vos catégories dans un tableau 2D ;
Utiliser une boucle
for
pour tracer chaque groupe de barres avec la fonctionbar()
, en décalant leurs positions horizontalement ;Personnaliser les positions et les étiquettes des graduations de l’axe des x avec
plt.xticks()
.
import matplotlib.pyplot as plt import numpy as np # Labels and data countries = ['USA', 'China', 'Japan'] positions = np.arange(len(countries)) primary = np.array([1.4, 4.8, 0.4]) secondary = np.array([11.3, 6.2, 0.8]) tertiary = np.array([14.2, 8.4, 3.2]) # Group the data sectors = np.array([primary, secondary, tertiary]) # Width of each bar width = 0.25 # Plot each group of bars for i in range(len(sectors)): plt.bar(positions + width * i, sectors[i], width) # Center the group of bars and label the ticks plt.xticks(positions + width, countries) plt.show()
Fonctionnement de xticks()
Le premier argument déplace les repères de graduation vers le centre de chaque groupe de barres ;
Le deuxième argument définit les étiquettes à l'aide de la liste
countries
.
Cette méthode fonctionne pour n'importe quel nombre de catégories — il suffit d'ajuster la valeur de width
pour éviter que les barres ne se chevauchent.
Swipe to start coding
- Passez le bon tableau à la fonction
len()
. - Utilisez la fonction appropriée pour tracer les barres.
- Utilisez la variable correcte qui doit être multipliée par
i
. - Utilisez la variable correcte comme indice pour le tableau
answers
. - Passez la bonne variable comme argument le plus à droite de la fonction de traçage.
Solution
Merci pour vos commentaires !