1
resposta

[Projeto] Desafio

#Importando programas que vou utilizar
import pandas as pd
import matplotlib.pyplot as plt


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)

df

#Criando graficos para Lojas A,B,C,D
fig, axs = plt.subplots(2, 2, figsize=(15,6))
fig.subplots_adjust(hspace=0.5, wspace=0.3)
fig.suptitle('Número de Vendas para cada loja')

axs[0,0].plot(df.loc['A'])
axs[0,0].set_title('Loja A')

axs[0,1].plot(df.loc['B'])
axs[0,1].set_title('Loja B')

axs[1,0].plot(df.loc['C'])
axs[1,0].set_title('Loja C')

axs[1,1].plot(df.loc['D'])
axs[1,1].set_title('Loja D')

#Com for, para todos os graficos
for ax in axs.flat:
    ax.set(xlabel='Meses', ylabel='Número de Vendas')
    ax.xaxis.set_major_locator(plt.MultipleLocator())
    ax.grid()

#Colocando valor maximo no eixo Y
ymin = 0
ymax = 500

for ax in axs.ravel():
  ax.set_ylim(ymin, ymax)

plt.show()
1 resposta

Oi, Mateus! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Sua visualização ficou bem organizada, e a forma como estruturou os subgráficos facilita bastante a comparação entre as lojas. A inclusão dos limites no eixo Y também contribuiu para uma leitura mais clara.

Uma dica interessante para o futuro é usar o método ax.set_xticks() para deixar os nomes dos meses mais visíveis, caso estejam sobrepostos ou ocultos. Veja este exemplo:


meses = df.columns
for ax in axs.flat:
    ax.set_xticks(range(len(meses)))
    ax.set_xticklabels(meses, rotation=45)

Esse trecho ajusta os rótulos do eixo X para mostrar os meses com uma leve rotação.

Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!