Contenu du cours
Visualisation Ultime Avec Python
Visualisation Ultime Avec Python
Diagrammes à Barres Groupées
Dans le chapitre précédent, nous avons utilisé un diagramme à barres empilées pour comparer plusieurs catégories pour chaque valeur sur l'axe des x. Cependant, il existe une autre option pour accomplir cette tâche en utilisant un diagramme à barres groupées. Cela nous permet de visualiser ces données en plaçant les barres sur les côtés d'autres barres au lieu de les empiler les unes sur les autres.
Voici les étapes pour y parvenir :
-
Commencez par spécifier la largeur des barres et créer un tableau de coordonnées de l'axe des x (vous pouvez utiliser
np.arange()
pour cela); -
Créez un tableau bidimensionnel pour contenir les tableaux pour chaque catégorie;
-
Utilisez une boucle
for
pour appeler la fonctionbar()
plusieurs fois, une fois pour chaque catégorie (par exemple, trois fois pour trois catégories).
Voyons un exemple :
import matplotlib.pyplot as plt import numpy as np countries = ['USA', 'China', 'Japan'] positions = np.arange(len(countries)) primary_sector = np.array([1.4, 4.8, 0.4]) secondary_sector = np.array([11.3, 6.2, 0.8]) tertiary_sector = np.array([14.2, 8.4, 3.2]) sectors = np.array([primary_sector, secondary_sector, tertiary_sector]) # Setting the width of the bars width = 0.3 for i in range(len(sectors)): # Plotting the bars for each category (sector) plt.bar(positions + width * i, sectors[i], width) # Setting the x-axis ticks position and labels plt.xticks(positions + width * (len(sectors) - 1) / 2, countries) plt.show()
La fonction xticks()
personnalise l'axe des abscisses de la manière suivante :
-
Le premier argument
positions + width * (len(sectors) - 1) / 2
est un tableau de coordonnées de l'axe des abscisses représentant les centres des groupes de barres ; -
Le deuxième argument fournit des étiquettes (noms) pour ces graduations de l'axe des abscisses, en utilisant le tableau
countries
.
Remarque
Le code dans notre exemple est assez flexible et fonctionne pour un nombre arbitraire de catégories (vous devrez peut-être seulement ajuster
width
pour éviter le chevauchement).
Swipe to start coding
- Passez le tableau correct à la fonction
len()
. - Utilisez la fonction correcte 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 variable correcte comme arguments les plus à droite de la fonction de traçage.
Solution
Merci pour vos commentaires !
Diagrammes à Barres Groupées
Dans le chapitre précédent, nous avons utilisé un diagramme à barres empilées pour comparer plusieurs catégories pour chaque valeur sur l'axe des x. Cependant, il existe une autre option pour accomplir cette tâche en utilisant un diagramme à barres groupées. Cela nous permet de visualiser ces données en plaçant les barres sur les côtés d'autres barres au lieu de les empiler les unes sur les autres.
Voici les étapes pour y parvenir :
-
Commencez par spécifier la largeur des barres et créer un tableau de coordonnées de l'axe des x (vous pouvez utiliser
np.arange()
pour cela); -
Créez un tableau bidimensionnel pour contenir les tableaux pour chaque catégorie;
-
Utilisez une boucle
for
pour appeler la fonctionbar()
plusieurs fois, une fois pour chaque catégorie (par exemple, trois fois pour trois catégories).
Voyons un exemple :
import matplotlib.pyplot as plt import numpy as np countries = ['USA', 'China', 'Japan'] positions = np.arange(len(countries)) primary_sector = np.array([1.4, 4.8, 0.4]) secondary_sector = np.array([11.3, 6.2, 0.8]) tertiary_sector = np.array([14.2, 8.4, 3.2]) sectors = np.array([primary_sector, secondary_sector, tertiary_sector]) # Setting the width of the bars width = 0.3 for i in range(len(sectors)): # Plotting the bars for each category (sector) plt.bar(positions + width * i, sectors[i], width) # Setting the x-axis ticks position and labels plt.xticks(positions + width * (len(sectors) - 1) / 2, countries) plt.show()
La fonction xticks()
personnalise l'axe des abscisses de la manière suivante :
-
Le premier argument
positions + width * (len(sectors) - 1) / 2
est un tableau de coordonnées de l'axe des abscisses représentant les centres des groupes de barres ; -
Le deuxième argument fournit des étiquettes (noms) pour ces graduations de l'axe des abscisses, en utilisant le tableau
countries
.
Remarque
Le code dans notre exemple est assez flexible et fonctionne pour un nombre arbitraire de catégories (vous devrez peut-être seulement ajuster
width
pour éviter le chevauchement).
Swipe to start coding
- Passez le tableau correct à la fonction
len()
. - Utilisez la fonction correcte 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 variable correcte comme arguments les plus à droite de la fonction de traçage.
Solution
Merci pour vos commentaires !