1
resposta

[Projeto] 09 Desafio: customizando os subplots com dados de vendas de diferentes lojas

import pandas as pd
import matplotlib.pyplot as plt

1. Preparação dos dados

lojas = ['A', 'B', 'C', 'D']
vendas_2022 = {
'Jan': [100, 80, 150, 50], 'Fev': [120, 90, 170, 60],
'Mar': [150, 100, 200, 80], 'Abr': [180, 110, 230, 90],
'Mai': [220, 190, 350, 200], 'Jun': [230, 150, 280, 120],
'Jul': [250, 170, 300, 140], 'Ago': [260, 180, 310, 150],
'Set': [240, 160, 290, 130], 'Out': [220, 140, 270, 110],
'Nov': [400, 220, 350, 190], 'Dez': [300, 350, 400, 250]
}

df = pd.DataFrame(vendas_2022, index=lojas)

2. Configuração da Figura

fig, axs = plt.subplots(2, 2, figsize=(16, 10))

Customização do Título Geral (Destaque com tamanho maior)

fig.suptitle('Análise de Desempenho de Vendas - Ano 2022', fontsize=24, fontweight='bold', color='#333333')

Lista de cores personalizadas

cores = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728']

3. Loop otimizado com axs.flat

for i, ax in enumerate(axs.flat):
loja = lojas[i]

# Plotagem com espessura maior (linewidth) e marcadores
ax.plot(df.columns, df.loc[loja], color=cores[i], linewidth=3, marker='o', markersize=6)

# Alterar a posição do título para a esquerda (loc='left') e aumentar fonte
ax.set_title(f'Vendas Loja {loja}', loc='left', fontsize=16, fontweight='semibold')

# Aumentar tamanho dos rótulos dos eixos
ax.set_xlabel('Mês', fontsize=12)
ax.set_ylabel('Nº de Vendas', fontsize=12)

# Customizar os ticks dos eixos para melhor leitura
ax.tick_params(labelsize=10)

# Adicionar grade para facilitar a leitura dos valores
ax.grid(True, linestyle='--', alpha=0.5)

# Manter a escala constante para comparação justa
ax.set_ylim(0, 450)

4. Ajuste final de layout para evitar sobreposições

plt.tight_layout(rect=[0, 0.03, 1, 0.95])

plt.show()

1 resposta

Ei! Tudo bem, Moacir?

Mais um projeto muito bem executado, parabéns!

Você estruturou super bem os subplots, usou axs.flat e ainda teve preocupação com consistência visual (cores, escala fixa, grid). Isso é essencial pra comparação entre gráficos, e você aplicou perfeitamente.

Uma dica para treinar é incluir algum destaque visual (como anotar picos de vendas) ou até comparar tendências entre lojas em um gráfico adicional.

Siga firme assim na prática, faz toda diferença! Qualquer dúvida, já sabe, basta compartilhar conosco, combinado?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!