DEV Community

Cover image for Parte 06 - Linhas e Áreas
Walter R P Cortes
Walter R P Cortes

Posted on • Originally published at blog.wvcode.com.br on

Parte 06 - Linhas e Áreas

Olá Devs!

No artigo anterior, começamos de maneira efetiva o nosso aprendizado da biblioteca seaborn, para a criação de gráficos utilizando a linguagem Python, e tecnologias interativas como o Google Colab.

Mais especificamente, aprendemos a criar gráficos de barras e suas variações como o gráfico de colunas, barras agrupadas ou até mesmo empilhadas (stacked). Esses gráficos correspondem com certeza à maior parte da nossa necessidade em termos de gráficos, mas ainda temos outra categoria que é muito importante: os gráficos de Linhas e Áreas.

Gráficos de Linhas e Áreas

Os gráficos de Linhas e Áreas são utilizados quando precisamos representar a distribuição de métrica ao longo de um eixo de valores categóricos mas contínuos. O exemplo mais clássico é representar a distribuição de valores ao longo da dimensão do tempo. Mas também é possível utilizar qualquer outra dimensão numérica e contínua.

Então, estão preparados para mais uma dose de conhecimento?

Preparação

A primeira coisa que iremos fazer no nosso notebook é carregar todas as bibliotecas que iremos utilizar e também o nosso conjunto de dados.

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

pokemons = pd.read_csv('pokemons.csv')

Utilização Básica

A utilização básica aqui não é muito diferente do que fizemos para os gráficos de barra: temos uma função que deve poder gerar a visualização, através da passagem de alguns parâmetros básicos: fonte de dados, eixo X, Y, …

Neste caso, a função em questão é a lineplot(). Vamos tentar?

sns.lineplot(pokemons, x='Generation', y='Spe')
plt.title('Variação de Velocidade de acordo com as Gerações')
plt.xlabel('Geração')
plt.ylabel('Velocidade')
plt.show()

Padronização é uma maravilha, não é mesmo? Pegamos o nosso código para gráficos de barras e trocamos a função e tudo funcionou! Podemos perceber, no entanto, que a nossa linha representando está envolta por um delimitador azulado. Para resolver isso, vamos dar uma analisada nos parâmetros específicos da função lineplot().

Por padrão, o gráfico de linhas também plota o que chamamos de error band, ou margem de erro. Se não for interessante, podemos eliminar essa error band.

sns.lineplot(pokemons, x='Generation', y='Spe', errorbar=None)
plt.title('Variação de Velocidade de acordo com as Gerações')
plt.xlabel('Geração')
plt.ylabel('Velocidade')
plt.show()

E, assim como no gráfico de barras, temos a necessidade de plotar mais de uma série no nosso gráfico de linhas. Como fazemos isso? É simples:

pokemons_sb = pokemons[['Generation','Spa','Spd']] # Primeiro selecionamos apenas as colunas que queremos trabalhar
tidy = pokemons_sb.melt(id_vars='Generation').rename(columns=str.title)

sns.lineplot(tidy, x='Generation', y='Value', hue='Variable', errorbar=None)
plt.title('Análise das Gerações')
plt.xlabel('Geração')
plt.ylabel('Atributos')
plt.show()

Basicamente, tivemos que fazer a mesma operação que fizemos para as múltiplas barras. E o resto do código já é bem conhecido.

O outro tipo de gráfico baseado em linhas é o popular gráfico de área. Mas somente conseguimos gerar esse gráfico utilizando a função stackplot() do MatplotLib. Veja o exemplo abaixo:

pokemons_gb = pokemons.groupby(['Generation'])[['Spa', 'Spd']].mean().reset_index()

plt.stackplot(pokemons_gb['Generation'], pokemons_gb['Spa'], pokemons_gb['Spd'], labels=['Special Attack', 'Special Defense'])
plt.title('Análise das Gerações')
plt.xlabel('Geração')
plt.ylabel('Atributos')
plt.show()

E aí está o nosso gráfico de área! Mais uma vez, recorremos a matplotlib para concluir a plotagem.

Conclusão

Neste artigos, aprendemos a criar mais dois tipos de gráfico: linha e área, revisamos a utilização de pandas para transformar os dados e acrescentamos mais uma ferramenta no nosso cinto de utilidades.

Se você quiser aprender mais sobre gráficos de linha e área em seaborn, seguem alguns links: - Documentação oficial do Seaborn em português: A documentação oficial do Seaborn tem uma versão em português que fornece uma visão geral da biblioteca, exemplos de uso, informações sobre os diferentes tipos de gráficos, e muito mais - Gráficos de Linha em Seaborn

Um abraço e até a próxima,

Walter.

Top comments (0)