1
resposta

Função alternativa para gráficos de comparação

Criei uma função alternativa para criar gráficos de comparação (vários gráficos "em um só"). Assim é possível gerar quantos gráficos forem necessários.

def plot_comparacao(dataset, x, *args):
    plt.figure(figsize=(16, len(args) * 4))  #len(args) * 4 pega a quantidade de argumentos e multiplica por 4 para gerar a altura correta do gráfico        

    for i, v in enumerate(args): #enumerate criar um contador para colocar o gráfico no local correto do subplot
        ax = plt.subplot(len(args), 1, i+1)  
        ax.set_title(v['titulo'] if 'titulo' in v else '', fontsize=18, loc='left') # se existir a chave 'titulo', insere no gráfico, senão deixa vazio
        sns.lineplot(x= x, y= v['y'], data = dataset)
        if 'xlabel' in v: # se existir a chave 'xlabel' insere no gráfico
            plt.xlabel(v['xlabel'], fontsize=14)
        if 'ylabel' in v: # se existir a chave 'ylabel' insere no gráfico
            plt.ylabel(v['ylabel'], fontsize=14)
    ax = ax

Podemos chamar a função criando um dicionario para cada gráfico com as informações necessárias (titulo, y, xlabel, ylabel), sendo o valor de y o único realmente necessário para criar o gráfico:

vendas = {'titulo': 'Análise de Vendas Alucar de 2017 a 2018', 'y': 'vendas'}
aumento = {'y': 'aumento'}
aceleracao = {'y': 'aceleracao', 'xlabel': 'Tempo', 'ylabel': 'Aceleração'}
plot_comparacao(alucar, 'mes', vendas, aumento, aceleracao)

Espero que ajude alguém :)

1 resposta

Oii Lucas, tudo bem contigo?

Que bacana!

Parabéns pela dedicação ao curso e também por procurar fazer exercícios mais complexos aplicando o conhecimento que tem adquirido :)

Ficou muito legal e completa sua função. Com certeza irá ajudar outros alunos e alunas que passarem pelo fórum. Muito obrigada por compartilhar sua função aqui ^^

Qualquer dúvida estou à disposição. Bons estudos!