1
resposta

Exercicio 2 - Comparando dados das 4 lojas em 2022

#Explotando estilos na biblioteca, ativei o bmh

plt.style.use('bmh')

#Creando la figura con 4 gráficos
fig, axs = plt.subplots(2, 2, figsize=(14,8))
fig.suptitle('Vendas por lojas no ano 2022', fontsize=16)

#Configurando gráficos de cada tienda

axs[0,0].plot(df.loc['A', meses], color='royalblue', lw=3 )
axs[0,0].set_title('Loja A')

axs[0,1].plot(df.loc['B', meses], color='crimson', lw=3)
axs[0,1].set_title('Loja B')

axs[1,0].plot(df.loc['C', meses], color='forestgreen', lw=3)
axs[1,0].set_title('Loja C')

axs[1,1].plot(df.loc['D', meses], color='darkorchid', lw=3)
axs[1,1].set_title('Loja D')

#Colocando el rótulo para todos los ejex Y e Y

for ax in axs.flat:
ax.set_ylabel('Número de Vendas')

#Definiendo una misma cantidad tope para que la comparación sea lógica.

ymin = 0
ymax = 400
for ax in axs.ravel():
ax.set_ylim(ymin, ymax)

plt.show()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Humberly. Como vai?

Excelente trabalho com a customização dos seus subplots! O uso da biblioteca Matplotlib para comparar múltiplos cenários em uma única figura é uma habilidade essencial para qualquer Analista de Dados, e seu código está muito bem estruturado.

O resultado visual ficou limpo e profissional, especialmente pela escolha do estilo bmh, que traz as linhas de grade (grid) sutis, facilitando a leitura dos picos de venda sem poluir o gráfico.

Gostaria de destacar dois pontos muito positivos na sua implementação que agregam muito valor ao projeto:

  • Padronização do Eixo Y: Você acertou em cheio ao definir um ylim fixo (de 0 a 400) para todos os gráficos. Sem isso, o Matplotlib ajustaria a escala automaticamente para cada loja, o que poderia levar a uma interpretação errada. Por exemplo, um pico de 200 na Loja D pareceria visualmente "maior" que um de 300 na Loja A se as escalas fossem diferentes. Com a sua lógica, a comparação é direta e honesta.
  • Iteração com axs.flat e axs.ravel(): Utilizar laços de repetição (for) para configurar os rótulos e limites é uma excelente prática de programação (DRY - Don't Repeat Yourself). Isso torna seu código muito mais fácil de manter; se você precisasse de 10 lojas, bastaria ajustar o tamanho da matriz e o loop cuidaria do resto.

Para levar seu aprendizado ao próximo nível, aqui está uma sugestão de melhoria estética e funcional:

  • Ajuste de Layout: Notei que os rótulos do eixo X e os nomes dos eixos Y podem acabar ficando muito próximos ou sobrepostos dependendo do tamanho da janela. Você pode adicionar o comando plt.tight_layout() antes do plt.show(). Ele ajusta automaticamente o espaçamento entre os subplots para que nada se sobreponha.
  • Cores Estratégicas: Você usou cores distintas (royalblue, crimson, etc.), o que é ótimo. Se este fosse um relatório para uma empresa real, você poderia usar uma cor de destaque para a loja que bateu a meta e uma cor neutra (como cinza) para as demais, direcionando o olhar do espectador para o insight principal.

Seu domínio sobre o df.loc para filtrar os meses e as lojas simultaneamente também demonstra que você está com o Pandas em dia!

Espero que possa ter lhe ajudado!