1
resposta

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

Desafio: customizando os subplots com dados de vendas de diferentes lojas

Criar uma figura com subplots que apresentam a variação no número de vendas em quatro diferentes lojas ao longo de um ano. Explore as opções de customização dos subplots para deixar a figura mais clara e atraente para a gerência da empresa.

Importando as bibliotecas:

import pandas as pd
import matplotlib.pyplot as plt

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]
}

# Criando DataFrame
vendas_lojas = pd.DataFrame (vendas_2022, index=lojas)
vendas_lojas
indexJanFevMarAbrMaiJunJulAgoSetOutNovDez
A100120150180220230250260240220400300
B8090100110190150170180160140220350
C150170200230350280300310290270350400
D50608090200120140150130110190250

Importando as cores da Biblioteca Matplotlib:

#Criando lista com cores
cores = ['darkmagenta', 'forestgreen', 'navy', 'darkorange']

Criando a visualização dos gráficos:

#Criando os 4 gráficos para comparação;
#Vamos criar um gráfico de linhas com subplot, visto que a resolução é "criar uma figura com subplots que apresentam a variação no número de vendas em quatro diferentes lojas ao longo de um ano. "
fig, axs = plt.subplots(2, 2, figsize=(20,10))
plt.subplots_adjust (wspace=0.4, hspace=0.5)

fig.suptitle('Vendas no ano de 2022 nas lojas A,B,C e D\nno período de Janeiro à Dezembro', fontsize=20)

#Plotando os gráficos
for i, ax in enumerate(axs.flat):
  ax.plot(vendas_lojas.loc[vendas_lojas.index[i]], color=cores[i], lw=3)
  ax.set_title(f'Vendas na loja {vendas_lojas.index[i]}', loc='left', fontsize=16)
  ax.set_xlabel('Mês', fontsize=14)
  ax.set_ylabel('Vendas', fontsize=14)
  ax.tick_params(axis='both', labelsize=14)
  ax.grid(color='lightgrey')

  y_min = 30
  y_max = 420

  for ax in axs.ravel():
    ax.set_ylim(y_min, y_max)

plt.show()

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Projeto no Colab: https://colab.research.google.com/drive/1CBJ9GPStDfNLwpogVvWO_6JfU6ZJ21hL?usp=sharing

1 resposta

Bravo!