Segue abaixo o projeto:
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]
}
lojas, vendas_2022
Importando as bibliotecas:
#Importando as Bibliotecas
import pandas as pd
import matplotlib.pyplot as plt
Criando o DataFrame:
# Criando o DataFrame
df = pd.DataFrame(vendas_2022, index=lojas)
df.index.name = 'loja'
df
Criando os gráficos:
#Gráficos por figuras e subplots
fig, axs = plt.subplots(2, 2, figsize=(14, 8))
plt.subplots_adjust(wspace=0.3, hspace=0.4)
fig.suptitle('Análise de Vendas do Ano')
axs[0,0].plot(df.loc['A'])
axs[0,0].set_title('Vendas na Loja A')
axs[0, 1].plot(df.loc['B'])
axs[0, 1].set_title('Vendas na loja B')
axs[1, 0].plot(df.loc['C'])
axs[1, 0].set_title('Vendas na loja C')
axs[1, 1].plot(df.loc['D'])
axs[1, 1].set_title('Vendas na loja D')
#Estabelecendo a definição dos Eixos em X = mês e Y = Nº de Vendas
for ax in axs.flat:
ax.set_xlabel('Mês')
ax.set_ylabel('Número de vendas')
ax.grid()
##Estabelecer o valor máximo de vendas pelo DataFrame, deixando um valor de 20% de margem no valor máximo
ymax = df.max().max()
ymax = int(ymax + (ymax * 0.20))
for ax in axs.ravel():
ax.set_ylim(ymin, ymax)
#adicionando uma contribuição de visualização do fórum
for i, valor in enumerate(df.loc[ax.get_title().split()[-1]]):
ax.annotate(f'{valor}', (i, valor), textcoords="offset points", xytext=(0,5), ha='center')
plt.show()