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