1
resposta

[Projeto] Desafio Subplot de Lojas A - B - C - D

# 'Importando' 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]
}

# Importando biblioteca
import pandas as pd
import matplotlib.pyplot as plt

# Criando o DataFrame
df = pd.DataFrame(vendas_2022, index=lojas)
df.index.name = 'loja'

#Testando DataFrame
df

# Criando os Gráficos por Figuras e Subplots
fig, axs = plt.subplots(2, 2, figsize=(15,10))
fig.subplots_adjust(hspace=0.5, wspace=0.5)
fig.suptitle('Análise de Vendas do Ano por Loja', fontsize=14)

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 = Vendas 
for ax in axs.flat:
    ax.set(xlabel='Mês')
    ax.set(ylabel='Vendas')
    ax.grid()

# Estabelecendo os valores mínimo e máximo do eixo Y
ymin = 0
ymax = 500
for ax in axs.flat:
    ax.set_ylim(ymin, ymax)
    
# Para ter um diferencial adicionei valores mínimos e máximos no gráfico para ficar mais eficaz a visualização dos valores
# Adicionando valores mínimos e máximos no gráfico
for ax, store in zip(axs.flat, ['A', 'B', 'C', 'D']):
    y_min = df.loc[store].min()
    y_max = df.loc[store].max()
    x_min = df.loc[store].idxmin()
    x_max = df.loc[store].idxmax()
    
# Exibindo os valores mínimos e máximos
    ax.text(x_min, y_min, f'{y_min}', fontsize=10, color='red', ha='center', va='bottom')
    ax.text(x_max, y_max, f'{y_max}', fontsize=10, color='green', ha='center', va='bottom')


plt.show()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Boa noite Estudante!

Obrigado por compartilhar sua resolução com a comunidade Alura. Foi bem interessante você marcar apenas o valor inicial e final da visualização, deu um toque sofisticado à apresentação. Em caso de dúvidas não hesite em perguntar, estamos à disposição.

Abraços e bons estudos!