Graphes à barres empilées avec Matplotlib de Python
Comme prévu, le graphique est difficile à lire. Essayons le diagramme à barres empilées et ajoutons quelques ajustements.
Premièrement, nous pouvons trier les valeurs avant de les tracer, ce qui nous donne un meilleur sens de l’ordre et facilite la comparaison des barres. Nous le ferons avec la colonne ‘Ventes globales’ puisqu’elle possède le total.
## sort values
df_grouped = df_grouped.sort_values('Global_Sales')
df_grouped
Auparavant, pour construire un graphique à barres en grappes, nous avons utilisé un tracé pour chaque région où le paramètre de largeur et les ajustements de l’axe des x nous ont aidés à correspondre aux quatre zones de chaque plateforme.
De façon similaire, pour tracer des diagrammes à barres empilées, nous utiliserons un tracé pour chaque région. Cette fois, nous utiliserons le paramètre bas/gauche pour indiquer à Matplotlib ce qui précède les barres que nous dessinons.
plt.bar(, )
plt.bar(, , bottom = )
plt.show()plt.barh(, )
plt.barh(, , left = )
plt.show()
Cool. Nous pouvons utiliser une boucle pour tracer les barres, en passant une liste de zéros pour le paramètre ‘bottom’ dans le premier ensemble et en accumulant les valeurs suivantes pour les régions suivantes.
fields =
colors =
labels = # figure and axis
fig, ax = plt.subplots(1, figsize=(12, 10))# plot bars
left = len(df_grouped) *
for idx, name in enumerate(fields):
plt.barh(df_grouped.index, df_grouped, left = left, color=colors)
left = left + df_grouped# title, legend, labels
plt.title('Video Game Sales By Platform and Region\n', loc='left')
plt.legend(labels, bbox_to_anchor=(), ncol=4, frameon=False)
plt.xlabel('Millions of copies of all games')# remove spines
ax.spines.set_visible(False)
ax.spines.set_visible(False)
ax.spines.set_visible(False)
ax.spines.set_visible(False)# adjust limits and draw grid lines
plt.ylim(-0.5, ax.get_yticks() + 0.5)
ax.set_axisbelow(True)
ax.xaxis.grid(color='gray', linestyle='dashed')plt.show()
Génial, c’est beaucoup plus lisible que le précédent.
Il est important de se rappeler le but de ce graphique avant d’essayer d’en extraire des idées. L’idée ici est de comparer les ventes totales des plateformes et de comprendre la composition de chaque plateforme.
Comparer les totaux à travers les champs et comparer les régions à l’intérieur d’une barre est ok. Comparer les régions de différentes barres, en revanche, peut être très trompeur.
Dans ce cas, nous pouvons comparer la région NA à travers les barres puisqu’elle a le même point de départ pour chaque barre, mais il n’est pas si facile de comparer les autres. Prenez la X360, par exemple, elle a une valeur inférieure pour JP que la PS2, mais il est difficile de comparer si la valeur des Autres est supérieure ou inférieure à celle de la Wii.