Oi, Ticiane! tudo bem?
Para aumentar o espaçamento entre o título e os gráficos, você pode ajustar um parâmetro chamado top
no método subplots_adjust
. Este parâmetro controla a posição superior do subplots em relação à figura e, ao diminuí-lo, você cria mais espaço entre o título geral e os gráficos.
Aqui está um exemplo completo para você:
1. Criação do DataFrame
import pandas as pd
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
df = pd.DataFrame(vendas_2022, index=lojas)
2. Criação do gráfico
Ao criar o gráfico, podemos usar top=0.85
, por exemplo, para ajustar a posição superior dos subplots, criando mais espaço para o título geral. Você pode ajustar o valor de top conforme necessário para obter o espaçamento desejado.
Obs: quanto menor o valor colocado: maior será o espaçamento.
import matplotlib.pyplot as plt
# Criar a figura e os subplots
fig, axs = plt.subplots(2, 2, figsize=(14, 8))
# Ajustar os espaçamentos entre os subplots
plt.subplots_adjust(wspace=0.3, hspace=0.4, top=0.85)
# Adicionando um título geral para os subplots
fig.suptitle('Vendas no período de janeiro a dezembro de 2022 nas lojas A,B,C e D', fontsize=20)
# Lista de cores
cores = ['darkviolet', 'green', 'darkblue', 'coral']
#Loop para plotar e customizar os subplots
for i, ax in enumerate(axs.flat):
ax.plot(df.loc[df.index[i]], color=cores[i], lw=3)
ax.set_title(f'Vendas na loja {df.index[i]}', loc='left', fontsize=16)
ax.set_xlabel('Mês', fontsize=14)
ax.set_ylabel('Número de vendas', fontsize=14)
ax.tick_params(labelsize=12)
ax.grid(color='lightgrey')
plt.show()
Dessa forma, você cria mais espaço entre o título geral e os gráficos, tornando a visualização mais clara e organizada. Qualquer dúvida, estou à disposição!