Carte a barre impilate con Matplotlib di Python
Come previsto, il grafico è difficile da leggere. Proviamo il grafico a barre impilate e aggiungiamo alcuni aggiustamenti.
Prima di tutto, possiamo ordinare i valori prima di tracciarli, dandoci un miglior senso dell’ordine e rendendo più facile confrontare le barre. Lo faremo con la colonna ‘Vendite Globali’ perché ha il totale.
## sort values
df_grouped = df_grouped.sort_values('Global_Sales')
df_grouped
Prima, per costruire un grafico a barre clustered, abbiamo usato un grafico per ogni regione dove il parametro della larghezza e gli aggiustamenti nell’asse x ci hanno aiutato ad adattare le quattro aree di ogni piattaforma.
Similmente, per tracciare i grafici a barre a pila, useremo una trama per ogni regione. Questa volta useremo il parametro bottom/left per dire a Matplotlib cosa viene prima delle barre che stiamo disegnando.
plt.bar(, )
plt.bar(, , bottom = )
plt.show()plt.barh(, )
plt.barh(, , left = )
plt.show()
Cool. Possiamo usare un ciclo per tracciare le barre, passando una lista di zeri per il parametro ‘bottom’ nella prima serie e accumulando i seguenti valori per le regioni successive.
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()
Grande, questo è molto più leggibile di quello precedente.
È importante ricordare lo scopo di questo grafico prima di cercare di estrarre qualsiasi intuizione. L’idea qui è di confrontare le vendite totali delle piattaforme e capire la composizione di ogni piattaforma.
Confrontare i totali tra i campi e confrontare le regioni all’interno di una barra è ok. Confrontare le regioni di barre diverse, d’altra parte, può essere molto fuorviante.
In questo caso, possiamo confrontare la regione NA attraverso le barre poiché ha lo stesso punto di partenza per ogni barra, ma non è così facile confrontare le altre. Prendiamo la X360, per esempio, ha un valore più basso per JP rispetto alla PS2, ma è difficile confrontare se il valore degli altri è più alto o più basso del Wii.