import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# Dados das vendas
data = {
'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': [420, 250, 380, 210]
}
# Nomes das lojas
lojas = ['A', 'B', 'C', 'D']
# Criação do DataFrame
df_comparacao = pd.DataFrame(data, index=lojas)
# Configuração de estilo profissional
plt.style.use('seaborn-v0_8-muted')
fig, ax = plt.subplots(len(df_comparacao.columns), 1, figsize=(12, 18), sharex=True)
# Cores profissionais
colors = plt.cm.tab20.colors # Paleta de 20 cores
# Plotando os dados
for i, coluna in enumerate(df_comparacao.columns):
vendas_ordenadas = df_comparacao[coluna].sort_values(ascending=False)
lojas_ordenadas = vendas_ordenadas.index
ax[i].barh(
y=lojas_ordenadas,
width=vendas_ordenadas,
color=colors[i % len(colors)],
alpha=0.85,
edgecolor='black'
)
ax[i].set_title(f"Vendas em {coluna}", fontsize=14, fontweight='bold')
ax[i].set_xlabel('Vendas', fontsize=12)
ax[i].grid(axis='x', linestyle='--', alpha=0.7)
for j, v in enumerate(vendas_ordenadas):
ax[i].text(v + 10, j, str(v), va='center', fontsize=10) # Adiciona o valor nas barras
# Ajustes finais
plt.suptitle('Comparação de Vendas por Mês e Loja', fontsize=16, fontweight='bold')
plt.tight_layout(rect=[0, 0, 1, 0.96]) # Ajusta espaço para o título
#Salvando a Figura do Gráfico em PNG
fig.savefig('vendas_lojas_ano_2022', transparent=False, dpi=300, bbox_inches='tight')
plt.show()