Hands on: Data Science & Machine Learning – 4º Simpósio de Tecnologias Aplicadas
Data Viz – Como melhorar seu histograma com Seaborn
Melhorando Histograma no Seaborn
Inscreva-se
Se inscreva no Space Data para ter acesso ao conteúdo exclusivo para membros
Histogramas são gráficos bastante utilizados em análises para visualizar a distribuição de dados. Acontece que as configurações padrões das bibliotecas trazem histogramas básicos, bastante simples e nada atraentes. Neste artigo, vamos plotar um histograma utilizando a biblioteca seaborn e utilizar métodos para torná-lo visualmente mais bonito.
Se você não conhece este tipo de gráfico ou quer entender mais sobre o histograma e sua funcão, confira este artigo aqui: O que é um histograma
Dataset utilizado neste artigo
Para exemplificar, vamos utilizar um dataset sobre os índices de felicidade dos países em 2019 (pesquisa divulgada em 2020).
Você pode visualizar os dados aqui
Importacão das bibliotecas
Importação do dataset
Precisamos importar o dataset. Clique aqui para acessar o arquivo
Vou armazenar os dados na variável url e então utilizar o método da biblioteca Pandas para tranformá-lo em um DataFrame:
#importacao do dataset
url = ‘https://raw.githubusercontent.com/daianeklein/Space-Data/main/happiness_dataset.csv’
df = pd.read_csv(url)
Confira também: Quatro formas de visualizar seu DataFrame utilizando a biblioteca Pandas
Vamos visualizar o dataset rapidamente:
Neste artigo, vamos utilizar a variável ‘Freedom to make life choices”
Plotando o histograma
Este plot está com as configurações default da biblioteca Seaborn. Note que só informamos o dataset e o eixo x.
Melhorando o histograma
Antes de começar a deixar nosso histograma bonitão, vamos dar uma olhada na documentação e entender quais são os parâmetros que esse gráfico possui.
Documentaçãoseaborn.histplot(data=None, *, x=None, y=None, hue=None, weights=None, stat='count', bins='auto', binwidth=None, binrange=None, discrete=None, cumulative=False, common_bins=True, common_norm=True, multiple='layer', element='bars', fill=True, shrink=1, kde=False, kde_kws=None, line_kws=None, thresh=0, pthresh=None, pmax=None, cbar=False, cbar_ax=None, cbar_kws=None, palette=None, hue_order=None, hue_norm=None, color=None, log_scale=None, legend=True, ax=None, **kwargs)
Bins
Traduzindo do inglês, bins são as “caixas”, ou seja, cada uma destas barras no nosso histograma.
Vamos alterá-lo para 20, colocando o parâmetro bins = 20..
Cor
Vamos alterar a cor do nosso histograma.
Para isso, vamos utilizar as opcoes do Matplotlib. A lista completa, você pode conferir aqui:
Neste exemplo, vou utilizar a cor ‘steal’:
Não está grande coisa, eu sei. Vamos mudar a cara dele logo então:
Parâmetros element
O parâmetro ‘element’ muda, basicamente, a forma das barras. Você pode escolher:
- Bars
- Step
- Poly
Vamos utilizar o formato ‘step’:
Removendo a borda do gráfico
Para remover esta borda preta, vamos utilizar o parâmetro “despine”
Para remover todas as bordas, vamos utilizar os parâmetros bottom e left = True:
Configurando os eixo X e Y
Como falamos acima, estamos utilizando os dados da variável “Freedom to make life choices” neste histograma.
Sabemos que os valores estão distribuídos no eixo X. Neste exemplo, não vamos utilizar o eixo Y (lembre-se sempre de analisar se este eixo é importante para o leitor ou não, muitas vezes ele é essencial para interpretação do gráfico).
Removendo o eixo Y
Para remover a esca do eixo Y, vamos utilizar o tick_params.
Ele vem do biblioteca matplotlib, portanto, vamos chamá-lo:
plt.tick_params(axis =’y’, labelsize=0, length = 0)
y = eixo Y
labelsize = tamanho do rótulo
length = Tamanho dos pontos (são aqueles pequenos pontos no eixo Y)
Removendo o “nome” do eixo Y
Retiramos os valores do eixo Y, mas como remover esse “Count”?
Vamos lá.
Também do Matplotlib, vamos configurar o ylabel, passando uma lista vazia e alterando o tamanho da fonte para 0.
Obs: Alterar o tamanho da fonte é importante, pois caso contrário, ficará dois colchetes no seu eixo ( assim: [] )
Configurando o eixo X:
Vamos alterar o título do eixo X e também alterar a cor e tamanho da escala.
Alterando a escala
Assim como fizemos com o eixo Y, também vamos utilizar o tick_params para configurar o eixo X:
Alterando e configurando o título do eixo
Para melhorar o eixo X, vamos
- Alterar o título para portugues
- Mudar a cor (color)
- Alterar o tamanho (fontsize)
- Deixá-lo um pouco mais distante da escala (labelpad)
Estamos quase finalizando!
Agora só falta aumentar um pouco esse histograma e claro, colocar um título nele.
Alterando o tamanho:
Vamos utilizar o método: plt.figure(figsize=(8,6)), onde 8 e 6 é o tamanho do gráfico. Sinta-se à vontade para alterar estes números como ficar melhor em seu projeto.
E para inserir o título e configurá-lo também, vamos utilizar o plt.title, sendo:
pad = Distanciar o texto do gráfico
fontsize = Tamanho do título
color = Cor do título
fontweight = O tipo da fonte do título, neste caso, selecionado negrito
Ficou muito mais bonito, não é mesmo?
Agora, só para finalizar, vamos tirar esse texto em cima do nosso histograma:
É bastante simples. No final de todos esses códigos, coloque ax = ax