Photo by Christopher Gower on Unsplash

Como criar um Boxplot com Python no Plotly?

Francisco Foz
4 min readMay 6, 2022

O Boxplot é uma das visualizações mais ricas que se existe, pois ele permite visualizar estatísticas da distribuição dos dados.

Ele é formado por uma caixa com hastes, separados por:

  • Valores mínimos
  • Primeiro quartil
  • Mediana
  • Terceiro quartil
  • Valores máximos
  • Outliers.
Fonte original da imagem

Já falei mais sobre ele nesse texto:

Bibliotecário em Ciência de Dados: Estatística Descritiva com Python

Mas dependendo da situação e apresentação, criar boxplots com gráficos estáticos pode não dar uma experiência tão legal.

Entra aí o Plotly, uma biblioteca para geração de visualizações dinâmicas, que eu já falei nesse meu outro texto.

No texto de hoje irei apresentar como criar um boxplot com o Plotly, a partir dos dados de remuneração mensal da direção das bibliotecas públicas da Califórnia nos EUA.

Bora lá?!

Sumário

Dados iniciais

Primeiro gráfico

Melhorando o gráfico

Considerações finais

Dados iniciais

Quais são os salários mensais da direção das bibliotecas públicas do estado da Califórnia nos EUA?

Há uma grande diferença entre eles?

Como dados iniciais utilizei a da Pesquisa salarial das biblioteca públicas da Califórnia de 2020–2021 disponibilizada pelas bibliotecas do estado da Califórnia.

Ao todo são 185 bibliotecas, mas nem todas tinham dados disponíveis ou possuíam uma direção com para contabilizar os gastos no período.

Ao final da limpeza, foram 173 bibliotecas que contabilizaram a análise.

A tabela ficou desta forma:

Não estava claro no conjunto de dados, mas deduzi que essa diferença dos salários é que tem um padrão de salário inicial do cargo e um final após anos de trabalho.

Você pode conferir o notebook completo aqui.

Primeiro gráfico

Para criar o Plotly é bem simples.

Usei o módulo do Plotly express:

import plotly.express as px

Chamei o .box dele com o dataframe dentro:

fig = px.box(salarios_diretores)fig.show()

Ótimo! Consigo ver cada valor dos quartis, outliers…

Mas está sem título, os rótulos dos eixos estão estranhos e também está pequeno.

Vamos melhorar ele.

Melhorando o gráfico

Vou modificar os rótulos adicionando um parâmetro labels (passando um dicionário trocando os valores) e o parâmetro title com o título.

fig = px.box(salarios_diretores,
labels={
'value':'Salário mensal em dólares',
'variable':'Tipo de salário'},
title='Remunuração das diretorias das bibliotecas públicas da Califórnia-EUA em 20-21')
fig.show()

Melhorou um pouco, mas esse gráfico está ainda com a largura muito extensa. Além do que esse rótulo do eixo x só está gerando mais informação.

Vou tirar ele e modificar o tamanho das letras também.

Passo outros dois parâmetros para a largura e altura (width e height), além de chamar o .update_layout com os tamanhos das letras e exclusão do rótulo.

fig = px.box(salarios_diretores,
labels={
'value':'Salário mensal em dólares',
'variable':'Tipo de salário'
},
title='Remunuração das diretorias das bibliotecas públicas da Califórnia-EUA em 20-21', width=900,height=600)fig.update_layout(title_font_size=22,font_size=15,xaxis_title=None)fig.show()

Pronto!

Bem melhor né?

Considerações finais

Podemos visualizar que a mediana do salário inicial da diretoria seria de 10,5 mil e final 13,6 mil dólares. Além de que existe em uma biblioteca que paga um salário de 1600 dólares e em algumas outras chegam a 22–28 mil dólares.

Claro que isso precisará ser analisado diante de outras variáveis dos conjunto de dados (tamanho da biblioteca, variação salarial dos últimos anos etc), mas o foco desse texto era a visualização com Plotly.

Fica a dica para você que quer criar algum projeto ou análise, explorar ainda mais esses dados.

Agora me diga, quais outros gráficos do Plotly você gostaria de ver tutoriais? Compartilhe nos comentários.

Se você chegou até aqui e curtiu, dê palmas, compartilhe e se inscreva para me acompanhar.

Ainda há muito a se explorar…

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Francisco Foz
Francisco Foz

Written by Francisco Foz

Bibliotecário | Analista de dados | Disseminando informações para produzir conhecimento.

No responses yet

Write a response