1
resposta

Colorir BoxPlot

Olá, na aula nos ensinaram a colorir um gráfico quando a segmentação é por coluna


fig = plt.figure(figsize=(8,5))
eixo = fig.add_axes([0,0,1,1])

cores = ['red', 'blue', 'orange', 'green']

caixas = eixo.boxplot(df.drop('espécie', axis=1).values, patch_artist=True)
eixo.set_title('Gráfico de caixa', fontsize=15, pad=10)
eixo.set_xticklabels(df.drop('espécie', axis=1).columns)

for caixa, cor in zip(caixas['boxes'], cores):
    caixa.set(color=cor)

Mas estou presa quando tentou agrupar e pintar o resultado por linha

0    Aprovados    46.67
1    Entrevistados    26.67
2    Entrevistados    26.67
3    Aprovados    60.00
4    Avaliados    26.67

Usando o código, eu consigo segmentar, mas não consigo pintar de cores diferentes e aumentar o tamanho do gráfico, por exemplo:

df_kanban_new.boxplot(['result'], by = ['kanban_final'], patch_artist=True)

Como incluo o figsize e o color boxe?

Obrigada!!

1 resposta

Olá Erica, peço desculpas pela demora no retorno

Você queria reproduzir o mesmo resultado da aula correto? Caso sim, é possível passar o parâmetro figsize=(8,5) direto no seu df_kanban_new.boxplot(...) como parâmetro: df_kanban_new.boxplot(..., figsize=(8,5)). É possível também acessar o eixo e as caixas criados pelo seu boxplot adicionando o parâmetro return_type='both'. Normalmente isso já retorna diretamente os valores de eixo e caixas permitindo fazer assim:

eixo, caixas = df_kanban_new.boxplot(['result'], return_type='both')

Mas como no seu caso é utilzado o parâmetro by é então retornada uma Series com o eixo e caixas de cada coluna passada (no seu caso da coluna result), então o código para acessar esses valores ficaria assim:

lista_eixo_caixas = df_kanban_new.boxplot(['result'], by = ['kanban_final'], return_type='both', patch_artist=True)
eixo, caixas = lista_eixo_caixas['result']

Com isso já temos acesso ao eixo e caixas para fazer as configurações mostradas na aula. Espero poder ter ajudado, qualquer coisa é só falar!