Gráficos de barras empilhadas com Matplotlib de Python

Nov 17, 2021
admin

Como esperado, o gráfico é difícil de ler. Vamos tentar o gráfico de barras empilhadas e adicionar alguns ajustes.

Primeiro, podemos ordenar os valores antes de plotar, dando-nos um melhor sentido de ordem e tornando mais fácil a comparação das barras. Vamos fazer isso com a coluna ‘Global Sales’, já que ela tem o total.

## sort values
df_grouped = df_grouped.sort_values('Global_Sales')
df_grouped

alguns dos registos na moldura de dados – Imagem do Autor
Earlier, para construir um gráfico de barras agrupadas, utilizámos um gráfico para cada região onde o parâmetro de largura e ajustes no eixo x nos ajudaram a encaixar as quatro áreas de cada plataforma.

Simplesmente, para plotting stack bar chart, usaremos um gráfico para cada região. Desta vez vamos usar o parâmetro fundo/esquerda para dizer ao Matplotlib o que vem antes das barras que estamos desenhando.

plt.bar(, )
plt.bar(, , bottom = )
plt.show()plt.barh(, )
plt.barh(, , left = )
plt.show()

Gráficos de barras empilhadas (Verticais/ Horizontais) – Imagem do Autor

Cool. Podemos usar um laço para traçar as barras, passando uma lista de zeros para o parâmetro ‘fundo’ no primeiro conjunto e acumulando os seguintes valores para as próximas regiões.

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

Gráfico de barras empilhadas – Imagem do Autor
>

Grande, este é muito mais legível que o último.

É importante lembrar o propósito deste gráfico antes de tentar extrair qualquer informação. A idéia aqui é comparar as vendas totais das plataformas e entender a composição de cada plataforma.

Comparar totais entre campos e comparar regiões dentro de uma barra está ok. Comparar regiões de diferentes barras, por outro lado, pode ser muito enganador.

Neste caso, podemos comparar a região de NA através das barras, uma vez que ela tem o mesmo ponto de partida para cada barra, mas não é tão fácil comparar as outras. Tomemos o X360, por exemplo, tem um valor para JP inferior ao da PS2, mas é difícil de comparar se o valor dos Outros for superior ou inferior ao da Wii.

Valor comparável – Imagem do Autor

Valor incomparável – Imagem do Autor

Suponha que alteremos a ordem da pilha, com Outras Vendas como o primeiro bar, e ordenar os registros por Outras Vendas. Deve ser mais fácil dizer qual é mais significativo.

## sort values
df_grouped = df_grouped.sort_values('Other_Sales')fields =
colors =
labels =

Gráfico de barras empilhadas, enfatizando a categoria Outros – Imagem por Autor

Existem dois elementos essenciais nesta visualização, a ordem das categorias na pilha de barras e a ordem das filas.

Se quisermos enfatizar uma região, podemos ordenar os registros com o campo escolhido e usá-lo como a barra mais à esquerda.

Se não o fizermos, podemos ordenar os registros pelo total e ordenar as pilhas com as categorias que têm valores mais altos primeiro.

Deixe uma resposta

O seu endereço de email não será publicado.