Visualização
de Dados
Patrícia Novais
01
Sumário
» Quarteto de Anscombe e a importância da visualização de dados
» Um pouco sobre Information Design
» Matplotlib
» Seaborn
» Principais tipos de gráficos0
Quarteto de 02
Anscombe
» 4 conjuntos de dados: o que podemos inferir?
Quarteto de 03
Anscombe
» 4 conjuntos de dados que possuem as mesmas médias, medianas, desvio padrão e
correlação.
média de x 9.0
média de y 7.5
var x 11
var y 4.12
correlation 0.816
Quarteto de 04
Anscombe
» O quarteto de Anscombe nos
mostra que apenas exibir os dados
em um tabela pode não trazer todas
as informações sobre os dados.
» Visualizar como os dados estão
distribuídos e relacionados nos ajudar
a extrair ainda mais informações.
Information 05
Design
» Consiste em apresentar dados e informações de uma maneira
visual, promovendo um entendimento eficiente e eficaz do que se
pretende comunicar.
» É uma atividade relacionada à seleção, organização e
apresentação de informação para uma determinada audiência
(Wildbur e Burke, 1998).
Information 06
Design
» O que podemos extrair dos gráficos?
Information 07
Design
» O que podemos extrair dos gráficos?
Information 08
Design
» O que podemos extrair dos gráficos?
Information 09
Design
» O que podemos extrair dos gráficos?
Information 10
Design
» O que podemos extrair dos gráficos?
Information 11
Design – bons exemplos
» O que podemos extrair dos gráficos?
Information 12
Design – bons exemplos
» O que podemos extrair dos gráficos?
Information 13
Design – bons exemplos
» O que podemos extrair dos gráficos?
Information 14
Design – bons exemplos
» O que podemos extrair dos gráficos?
15
Visualização de dados
Há basicamente 2 tipos de visualização de dados: exploratória e explanatória.
» Exploratória: quando usamos a visualização para encontrar relações e
informações importantes dos dados
» Explanatória: quando usamos a visualização para explicar/contar uma estória
para algum usuário.
16
Dicas para visualização
de dados
» Qual seu objetivo?
» Qual a informação você quer passar?
» Qual o nível de detalhamento?
» Por que apresentar essa informação?
» Quem vai usar essa informação?
» Coloque-se no lugar do usuário
» O que você usará na visualização?
» Quais os símbolos?
» Quais as cores? (Cuidado com os daltônicos!)
» Quais os melhores padrões?
17
Exercícios: information
Design
1. Como exibir as informações dos gráficos abaixo de maneira mais eficiente? Faça, usando
apenas papel e caneta, um esboço de como os dados poderiam ser melhor apresentados.
18
Melhor gráfico para o
melhor dado
Fonte: A. Abela, 2006.
19
Gráficos em Python?
» Existem hoje diversas bibliotecas em Python para criação de gráficos. Dentre as várias
possibilidades, exploraremos aqui as duas mais comuns: Matplotlib e Seaborn.
» Em cada biblioteca, considerando os principais tipos de dados, iremos apresentar alguns
dos tipos de gráficos mais comuns.
20
Matplotib – Primeiros
passos
» Matplotlib é a principal biblioteca para geração de gráficos em Python.
» A biblioteca possui uma infinidade de possibilidades, sendo possível criarmos desde gráficos
simples até outros mais rebuscados.
21
Matplotib – Primeiros
passos
» Importando a biblioteca
» Criando o primeiro gráfico.
A função plot() é uma das
mais simples, que permite
plotar 2 conjuntos de
dados (x, y)
22
Matplotib – Primeiros
passos
» Mudando alguns parâmetros
Mudando o tipo de marcador Mudando a cor da linha
23
Matplotib – Primeiros
passos
» Mudando alguns parâmetros
Mudando a cor dos
Mudando como os pontos
pontos são ligados e
o tipo de linha
24
Matplotib – Primeiros
passos
» Existem diversos outros parâmetros (argumentos) que podem ser utilizados para
personalizar o gráfico.
» Pode-se encontrar todos os argumentos nas documentações do Matplotlib.
25
Matplotib – Adicionando
outros elementos
» Podemos ainda adicionar labels aos
eixos, nome ao gráfico, modificar o
tamanho das fontes, dentre outras
possibilidades.
» Tome cuidado para que seu gráfico
não tenha muitos elementos e acabe
tirando a atenção do que realmente
importa: os dados!
26
Múltiplas curvas no
mecanismo gráfico
Três gráficos e
alguns elementos
Dois gráficos adicionais
27
Matplotlib – Múltiplos
subgráficos
2 gráficos na vertical (linha) 2 gráficos na horizontal (coluna)
28
Matplotlib – outros tipos
de gráficos
» Existem diversos tipos de gráficos que podem ser feitos com a biblioteca Matplotlib.
» Alguns serão explorados a seguir (tanto em Matplotlib quanto em Seaborn), mas dentre as possibilidades,
podemos citar:
» Gráficos lineares
» Gráficos de dispersão
» Gráficos de barras
» Histogramas Verifique a galeria da biblioteca
Matplotlib para encontrar
» Boxplots diversos exemplos de uso:
» Imagens
https://matplotlib.org/3.1.1/galler
» Tridimensionais y/index.html
» Gráficos de fluxos de campo
» Gráficos polares
29
Exercícios - Matplotlib
1. Crie dois arrays x e y com as listas [-3,-2.5,-2,-1,0,1,2,2.5,3] e [-27,-15.62,-8,-
1,0,1,8,15.62,27].
2. Use a função plot() e faça um gráfico de x e y.
3. Use a função xlabel() para adicionar o nome “Valor de X” ao eixo x. Deixe com fonte de
tamanho 15.
4. Use a função ylabel() para adicionar o nome “Valor de Y” ao eixo y. Deixe com fonte de
tamanho 15.
5. Use a função legend() para adicionar o nome “Função Cúbica” ao gráfico. Deixe com fonte
de tamanho 20.
6. Rode novamente seu gráfico, mas mude agora a linha para a cor magenta.
Seaborn – Gráficos mais 30
elaborados
» Seaborn é uma biblioteca baseada em Matplotlib que traz uma interface mais atraente para
os gráficos.
» Traz facilidades para modificarmos os parâmetros default do Matplotlib
» Permite usar dataframes
» Importando a biblioteca:
31
Seaborn – Datasets
embutidos
» O Seaborn possui diversos dados já embutidos que podem ser utilizados para estudar a
própria biblioteca. Para sabermos quais os datasets disponíveis, podemos utilizar a função
get_dataset_names().
32
Seaborn – Datasets
embutidos
» Para acessarmos o dataset escolhido, usamos a função load_dataset().
Criando um dataframe com o Criando um dataframe com o
dataset iris dataset planets
33
Seaborn – Ajustando os
gráficos
» O Seaborn possui a função set() que permite já ajustar estilos específicos para os gráficos,
sem a necessidade de ajustar manualmente todos os argumentos.
Com a configuração padrão Com a configuração ajustada
do Matplotlib com a função set() .
34
Seaborn – Ajustando os
gráficos
» O estilo default do Seaborn é o darkgrid, mas há ainda os estilos whitegrid, dark, white, e
ticks que podem ser escolhidos com a função set_style().
Seaborn – Gráficos 35
estarísticos
» Outra vantagem do Seaborn é a possibilidade de criar gráficos estatísticos como, por
exemplo, gráficos que estimem a função de densidade de probabilidade.
» Entre as possibilidades de gráficos estatísticos, podemos criar gráficos estatísticos com as
funções distplot() (univariada), jointplot() (bivariada).
» Variando os parâmetros dentro dessas funções, podemos gerar visualização de histogramas,
gráficos de hexágonos, dispersão e funções de distribuição.
Seaborn – 36
displot (univariada)
Seaborn – 37
pairplot (bivariada)
» A função pairplot() é outra função muito útil quando usamos os gráficos como recurso
exploratório.
» A função pairplot() exibe a relação 2 a 2 entre as variáveis, de modo que facilite a busca por
correlações entre as variáveis de um conjunto de dados.
» Exibe dados numéricos, embora dados categóricos possam ser utilizados para discriminar os
dados.
Seaborn – 38
pairplot (bivariada)
Seaborn – 39
Dados categóricos
» Os gráficos vistos até o momento são apenas com dados numérico
» E os dados categóricos? Como visualizá-los?
» O Seaborn possui diversos gráficos que ajudam na exploração de dados categóricos:
» Stripplot
» Swarmplot
» Boxplot
» Violinplot
» Barplot
» Pointplot
» Etc.
Seaborn – 40
Dados categóricos
Os gráficos stripplot() e swarmplot() são gráficos em que analisamos a dispersão de uma
variável numérica e outra categórica.
Qual a principal
diferença entre os
dois gráficos?
Seaborn – 41
Dados categóricos
Os gráficos barplot() e boxplot() são gráficos em que analisamos a relação entre dados
contínuos e categóricos.
42
Exercícios - Seaborn
1. Importe a biblioteca Seaborn
2. Use a função load_dataset() e coloque o dataset exercises num dataframe chamado
exercicios.
3. Use a função set_style() e mude para ‘dark’.
4. Faça o histograma da variável pulse usando a função distplot() e o argumento kde=False.
5. Agora faça a distribuição de densidade da mesma variável, mas utilizando o argumento
hist=False.
6. Use a função swarplot() e análise a relação entre as variáveis kind (x) e pulse (y).
Interpretação de 43
gráficos
» Mais do que apenas saber fazer gráficos, precisamos saber analisá-los para extrairmos
informações.
» Um gráfico sem uma interpretação é somente uma figura.
» Iremos pontuar alguns elementos importantes a analisar quando utilizamos alguns tipos
de dados.
44
Gráficos de dispersão
» O gráfico de dispersão (scatterplot) é muito útil quando precisamos verificar ou demonstrar
a relação entre duas grandezas numéricas.
» Cuidado com a sobreposição quando há muitos dados.
Seaborn
Matplotlib
Gráficos de dispersão 45
com linhas
» Similar ao gráfico de dispersão, mas com linhas que conectam os dados.
» Muito útil para séries temporais ou dados em que a ordem das relações importam.
Matplotlib Seaborn
46
Histogramas
» Os histogramas exibem as frequências de uma ou mais variáveis, mostrando como os dados
estão distribuídos.
» É preciso atenção ao tamanho dos bins do histograma, pois pode induzir a conclusões
diferentes.
Matplotlib Seaborn
47
Histogramas
» É preciso atenção ao tamanho dos bins do histograma, pois pode induzir a conclusões
diferentes.
Bins = 5 Bins = 20 Bins = 30
Mesmos dados, tamanhos diferentes de bins.
48
Boxplots
» Um gráfico de boxplot permite visualizar a variação em uma ou mais variáveis através de
seus quartis.
Matplotlib Seaborn
49
Boxplots
» A linha central mostra a mediana dos valores e os limites da caixa exibem o primeiro e
terceiro quartis.
» As linhas externas exibem os limites inferior e superior
» Se houver dados discrepantes (outliers), serão exibidos após as linhas externas.
50
Barplots
» Gráficos de barras mostram a relação entre variável numérica e categórica.
» Exibe o valor médio por categoria, mas pode calcular a mediana ou outro parâmetro
estatístico.
» O barplot do Seaborn exibe ainda um intervalo de confiança.
Distribuição de 51
densidade
» O gráficos de distribuição de densidade, assim como o histograma, exibe a distribuição de
uma ou mais variáveis.
» Apenas para variáveis numéricas.
52
Exercícios: gráficos
1. Utilizando os datasets do Seaborn, crie o dataframe voo com o datasets flights.
2. Faça um gráfico de barras com as variáveis year e passengers.
3. Que informação podemos extrair desse gráfico?
4. Use a função boxplot() e verifique a variável passengers.
5. O que podemos depreender desse gráfico?
6. Qual a diferença entre os resultados obtidos com o gráfico de barras e o boxplot?
7. Faça um gráfico de barras com as variáveis month e passengers.
8. Qual conclusão podemos extrair desse gráfico?