SlideShare uma empresa Scribd logo
1 de 259
Baixar para ler offline
#dataviz
introdução à visualização de dados
Julho/2016
helder da rocha
Quem sou eu? Who am I? Кто я?
Helder da Rocha
argonavis.com.br
Tecnologia * Ciência * Arte
HTML & tecnologias Web desde 1995
Autor de cursos e livros sobre

Java, XML e tecnologias Web
helderdarocha.com.br
Agenda
• Teoria da visualização de dados
• Tipos de gráficos
• Qualidade de gráficos
• Aplicações, ferramentas e tecnologias
• Demonstrações práticas
• Como fazer um gráfico usando D3.js
• Como fazer um mapa usando Leaflet e D3.js
O que são dados?
• Aquilo que é dado (do verbo dar)
• Em grego. Plural data, singular datum
• Um dado é um fato qualquer sem contexto.
• Informação é um dado colocado em um contexto
Dado
cru
Contexto
Dado em
contexto
Informação
Dado e informação
20160705
• Um número, um código, uma data?
• Informação: 20 milhões, 160 mil, 705 unidades
• Informação: 20160705 é a data de hoje
(a quantidade de contexto pode ser insuficiente para
caracterizar um dado como informação

ex: meta-dados, formatação, estrutura XML)
visualização de dados
#datavis #dataviz
• Parte da ciência de dados
• Mecanismo para converter fontes de dados em uma
representação visual (gráficos, mapas, tabelas)
• Geralmente refere-se a dados estatísticos ou
científicos, mapas geográficos e linhas do tempo
• O termo geralmente não é usado para se referir a
geometria, notações musicais, químicas,
matemáticas, arquitetônicas, circuitos eletrônicos
(embora isto também seja "visualização de dados")
Para que serve um gráfico?
• Para que serve um texto?
• Comunicar / informar / revelar / explicar
... mas, às vezes são usados para ...
• Seduzir / doutrinar / destacar / convencer
Interpretação
• Gráficos e textos são linguagens informais
• Dependem de contexto, background cultural
• Para serem úteis precisam ser interpretados,
aprendidos, transformados em informação e
conhecimento
• Interpretações frequentemente são conflitantes
Como se percebe um
gráfico?
Duas maneiras usadas pelo cérebro
para construir pensamentos
• Sistema 1 - rápido, automático, frequente,
emocional, subconsciente, estereotipado
• Sistema 2 - lento, trabalhoso, infrequente,
lógico, consciente, calculista
Percepção visual
Fonte: http://www.creativebloq.com/how-design-better-data-visualisations-8134175
Sistema 1
Sistema 2
Percepção visual
• Toda informação é processada pre-atentivamente
(Sistema 1)
• Informação que tem maior relevância (para o que
uma pessoa está pensando no momento) é
selecionada para ser processada conscientemente
(Sistema 2)
• Para maximizar o poder e eficácia de uma
visualização, devemos codificar o máximo possível
de informação em características pre-atentivas
(Sistema 1)
Fonte: Wikimedia
Semelhança
Proximidade
Fechamento
Continuidade
A percepção é uma ilusão
Nem tduo é eaxatemnte o que
praece. O crébero cira saus pórprias
rperseneaçtões e iulsões
Ilusão de área
Ilusão de comprimento
Ilusão de cor
Cores são
relativas!
Fonte: WikiMedia
Ilusão de cor
Cores são
relativas!
Fonte: WikiMedia
Pareidolia
Visão é convenção
• Representações visuais são aprendidas;
percebemos mais facilmente o que já conhecemos
• Podemos entender gráficos complexos e
compactos, mas podemos nos enganar na
primeira impressão
• Objetivo da visualização é encontrar maneira mais
simples e precisa para compreender e comparar
dados: transformá-los em informação e
conhecimento
Números
32
+ 42
= 52
• Números e texto não são percebidos pré-atentivamente
porque são aprendidos (requer Sistema 2)
Qual lado é maior?
• Pode-se comparar valores com base em atributos pré-
atentivos percebidos (mas não inferir valores reais a
partir deles)
Qual o valor de cada lado?
34
5
• Para perceber que ela representa um valor especifico,
precisamos de uma escala numérica ou textual
Visualização da equação
32
+ 42
= 52
32
42
52
6
Revelar o invisível
• A visualização de dados permite trabalhar com
universos e dimensões que não existem no mundo
das coisas visíveis
• Espectros de luz invisível
• Quatro ou mais dimensões físicas
• Ondas e linguagens sonoras
• O infinitamente grande e o infinitamente pequeno
• Abstrações matemáticas e filosóficas, conceitos
e idéias, quantidades, estatísticas
Como representar a gravidade
em quatro dimensões
Abstrações matemáticas
Leonhard Euler, atravessei todas as pontes de
Königsberg apenas uma vez sem repetir nenhuma!
É mentira! Eis a prova visual!
(Leonhard Euler: Solutio problematis ad geometriam situs pertinentis)
Representação visual da
matéria invisível
Com legenda
Ou simplesmente
C
Metano
Guanina
Fonte: WikiMedia
Fonte: WikiMedia
http://www.matthiasdittrich.com
Representação 1
Representação 2
BACH
Representação 3
Assinando a obra
B A C H
Bb A C B
CARANGUEJO OJEUGNARAC
Dados quantitativos
1786: primeiros gráficos (Playfair)
Hoje: parte fundamental da análise estatística de dados e
comunicação em ciência, tecnologia, 

negócios, educação, jornalismo.
Por que visualizar?
• Para ter uma visão abrangente dos dados (é difícil
lembrar de muitos números em uma tabela)
• Para comparar valores rapidamente
• Para descobrir padrões dentre os valores
• Para comparar padrões
https://www.perceptualedge.com/blog/?p=1897
Para que um gráfico?
"O poder de um gráfico é permitir que informação
quantitativa seja organizada de forma a revelar
padrões e estruturas que não são facilmente
detectadas por outros meios de análise dos
dados." (Cleveland & McGill)
Como representar dados?
• Símbolos
7, 3, 1 sete, três, um
• Marcas
Qual comunica melhor?
ontem hoje amanhã
33 10 4
ontem hoje amanhã
amanhã
4
hoje
10
ontem
33
ontem hoje amanhã
ontem hoje amanhã
33
10
4
ontem hoje amanhã
As representações mais
eficientes são
• Mais simples (rapidamente compreendidas)
• Mais atraentes (prendem a atenção)
• Seguem convenções (usam formas já aprendidas)
• Mais fáceis de comparar (posições, comprimentos)
• Mais compactas (pontos mais próximos são mais
fáceis de comparar)
Precisão da percepção
1. Posição em uma escala comum
2. Posições em escalas não alinhadas
3. Comprimento, direção, ângulo
4. Área
5. Volume, curvatura
6. Sombras, saturação de cor
Mais preciso
Menos preciso
Regras básicas
• A importância da precisão é maior quanto mais
analítica ou exploratória for a visualização
• Nos outros casos é possível escolher o nível ideal
de compromisso entre precisão e interesse visual
necessária para a história que está sendo
contada e seu público.
• Qual o público, propósito e contexto?
Tipos de dados
• Quantitativo: é possível contar ou medir (número,
comprimento, área, ângulo) - valor difícil de
perceber com precisão (se não houver uma escala)
• Ordinal: é possível ordenar ou comparar (ex:
saturação de cores, área, ângulo, comprimento,
palavras) - valor fácil de perceber
• Nominal: categoria, nome
Uma dimensão
• Escala
• Nominal (nome, categoria)
• Quantitativa (número)
• Barras, linhas, pontos, bolhas, áreas, saturação
Fonte: Vox
bloomberg.com / wordle.com
Trump speech wordcloud
Bubble
Fonte: NPR
Linhas do tempo
• Escalas cartesianas
• Temporal
• Nominal (eventos)
• Calendários
• Representação cíclica
Priestley (1765)
Calendário
Calendário cósmico
(Carl Sagan)
Série histórica
• Escalas cartesianas
• Temporal
• Quantitativa (valores)
• Dados científicos e estatísticos
• Linhas, barras, pontos
De cursu per zodiacum 

(sec X-XI)
Playfair (1786)
Lambert (1767)
Playfair (1821)
http://www.bloomberg.com/graphics/2015-whats-warming-the-world/
Clique no link para ver versão original interativa
Duas ou + dimensões
• Escalas
• Quantitativa (scatterplots)
• Ordinal (proporções)
• Nominal (itens, categorias)
Playfair (1786)
Playfair (1804)
2D Scatterplot
Fonte: Wikimedia
3D Scatterplot
bl.ocks.org/helderdarocha
Histograma
bl.ocks.org/helderdarocha
Áreas e ângulos
Sunburst (polar treemap)
Árvores
• Nó + vínculo
• Raiz
• Pais e filhos. Galhos e folhas
• Fluxos unidirecionais
Fonte: Leonard Eisenberg
100 anos de solidão
Document Object Model
Treemap
Treemap
Descrição de sistemas de
software orientados a objeto
agilemodelling.com
Sankey
Fluxo
Redes
• Nós + vínculos
• Relacionamentos arbitrários
• Pode conter ciclos
• Fluxos bidirecionais
• Caminhos, grafos
Esquema eletrônico
Rede de dependência
Matriz de dependências
Diagramas de estado
Descrição de seqüência de
operações em sistemas de software
lucidchart.com
Relacionamentos de composição
em sistemas de software
Espaciais
• Estruturas planares
• Mapas
• Gráficos compostos em 2D/3D: informações
quantitativas sobre mapas
John Snow (Londres, 1854)
Charles Minard (1869)
Invasão da Rússia por Napoleão em 1812.
Edmond Halley (1686)
Projeções
Mercator Cônica
Mollweide
Boggs
Choropleth
Charles Dupin
(1826)
https://bl.ocks.org/helderdarocha/raw/7d572d6e32266b932b4e4fabb3be7c08/
Clique no link para ver versão original interativa
https://www.google.com/moon/
Clique no link para ver versão original interativa
https://www.google.com/mars/
Clique no link para ver versão original interativa
https://bl.ocks.org/helderdarocha/raw/a100bc8a3f7e629d745271a4788a99d4/
Clique no link para ver versão original interativa
Como escolher a
melhor visualização?
O que você quer mostrar?
• Relacionamentos, tendências, comparações,
posições, instantes, ranking, correlação,
composição, distribuição, desvio, percentagem,
hierarquia, ...
• Quantas variáveis? Que tipo de dados (categoria,
quantidade)?
datavizcatalogue.com
datavizcatalogue.com
Um bom gráfico
• É verdadeiro e informativo (lie factor -> 0)
• É eficiente (+data-ink ratio, -chartjunk, +boa
percepção)
• É multidimensional e compacto (facilita a
comparação, ajuda a revelar informação)
• É adequado ao seu público e finalidade
(princípios podem ser violados - design é escolha)
Princípios de Edward Tufte
• Data-Ink ratio: quantidade de tinta (ou pixels) que
representa os dados mostrados (deve ser o maior
possível)
• Chartjunk: lixo visual que é irrelevante para a
exibição dos dados (e que atrapalha)
• Lie Factor: fator de mentira - gráficos que mentem
ao não representar proporções e comprimentos de
maneira precisa
Chartjunk
InfoVis Wiki
Percepção
• Barras (comprimento), pontos e linhas (posição)
são mais facilmente percebidos
• Ângulos e áreas são mais difíceis de comparar
• Saturação e tonalidade não são adequados para
representar dados quantitativos
Percepção
InfoVis Wiki
Percepção
InfoVis Wiki
Fonte: http://www.darkhorseanalytics.com/blog/data-looks-better-naked/
Vídeo
http://www.darkhorseanalytics.com/blog/clear-off-the-table
Vídeo
http://www.darkhorseanalytics.com/blog/salvaging-the-pie
Vídeo
Antes
50%
1 2 3 4 5 6 7 8 9 10
75%
25%
100%
Depois
1 2 3 4 5 6 7 8 9 10
Não exagere!
• Às vezes non-data ink não é chart junk
• A estética também é importante: um gráfico deve
atrair a atenção do visualizador
• É importante tornar a leitura mais fácil e a
visualização mais eficiente: Sistema 1!
Depois
1 2 3 4 5 6 7 8 9 10
Contexto
perdido!
Melhor uso do gráfico de pizza
me.me
O que parece maior?
InfoVis Wiki
Ângulos vs comprimento
InfoVis Wiki
Coisas incomparáveis
fonte: http://viz.wtf
Coisas incomparáveis
viz.wtf
Imprecisão
viz.wtf
InfoVis Wiki
Quem está na frente?
Quando muito ->
Cores
InfoVis Wiki
http://www.wisn.com/
http://www.wisn.com/
Mentiras
Mentiras
Gráfico honesto
Muito desonesto
viz.wtf
Escala de tempo incompleta
(gráfico confuso)
folha.com.br
Escala de tempo incompleta
(gráfico esclarecedor)
Boas visualizações
Como gerar visualizações?
Antes de começar
• É preciso organizar os dados!
• Localizar (onde?)
• Limpar e refinar (remover, adaptar, reorganizar)
• Analisar e verificar (precisão)
• Estruturar (de acordo com o tipo de visualização)
Excel / Google Sheets
Limpeza/refinamento
• Transforme dados em listas e matrizes
2015 2016
Jan Feb Mar Jan Feb Mar
A 55 54 57 56 55 55
B 22 34 78 356 366 340
C 13 13 14 22 23 29
Jan-2015 Feb-2015 Mar-2015 Jan-2016 Feb-2016 Mar-2016
A 55 54 57 56 55 55
B 22 34 78 356 366 340
C 13 13 14 22 23 29
Infogr.am
public.tableau.com
plot.ly
timeline.js

timeline.knightlab.com
openstreetmap.org
gpsvisualizer.com
scribblemaps.com
Programação
• Gráficos para a Web?
• HTML + CSS + SVG + WebGL + JavaScript
• Bibliotecas gráficas: Charts.js, HighCharts.js, ...
• D3.js
• Mapas
• Tiles (Raster): CartoDB / MapBox/ ArcGIS, GDAL
• Vetores: KML/GML, GeoJSON, TopoJSON, OGR
• APIs: Leaflet, OpenLayers, D3.js
HTML + CSS
• Estrutura de dados em árvore
<body>

				<h1	class="cabecalho">Texto</h1>

				<div	id="sec1">

								<p>Paragrafo</p>

				</div>

</body>	
• Formatação via seletores: CSS
h1	{color:	red;	font-size:	24pt	}

.cabecalho	{text-decoration:	underline}

#sec1	{position:	absolute;	

							left:	20px;	top:	50px;	

							background:	blue;	width:	400px}
HTML Document Object Model
(DOM) + JavaScript
• Acesso a estrutura do HTML e CSS
var	body	=	document.createElement("body");	
document.documentElement.appendChild(body);	
var	h1	=	document.createElement("h1");	
var	texto	=	document.createTextNode("Hello");	
h1.setAttribute("id",	"titulo");	
h1.appendChild(texto);	
body.appendChild(h1);	
h1.style.color	=	"red";
Eventos JavaScript
• Permite criar gráficos com recursos interativos e animações
• Vários tipos: "click", "mouseover", "change" etc.
• Fonte de um evento (ex: parágrafo)
			<p	id="item">Clique	aqui</p>	
• Conectando a fonte a um event handler
			var	elemento	=	document.getElementById("item");

			elemento.addEventListener("click",	tarefa);	
• Event handler: código que vai executar quando evento acontecer
			function	tarefa()	{		alert("Clicou!");		}
SVG
<html>	
				<head>	
				<style>	
								svg	{	border:	red	dashed	1px;	
														height:	200px;	width:	200px;	
								}	
								circle	{fill:	red}	
				</style>	
				</head>	
				<body>	
								<h1>SVG	embutido</h1>	
									
								<svg	viewBox="0	0	200	200">	
												<circle	r="50"	cx="100"	cy="100"	fill="green"	/>	
								</svg>	
				</body>	
</html>
comoembutir.html
Polígono fechado
<polygon>
<polygon	points="150,150			50,250	
																		50,150		100,50	

																	200,50			250,100	
																	300,150		350,250		250,250"	

	 	 fill="red"	fill-opacity="0.2"		

	 	 stroke-opacity="0.5"	stroke="navy"	

	 	 stroke-width="10"	stroke-linecap="round"	

	 	 stroke-linejoin="round"	stroke-dasharray="40	20	5	20"/>	
polygon.svg
Caminhos
• H ou h + coordenadas x linhas retas horizontais
• V ou v + coordenadas y linhas retas verticais
• L ou l + pares de coords x,y linhas retas em qq direção
1. M100,100	L150,200	z	
2. M100,100	L150,200	h50	z	
3. M100,100	L150,200	h50	v-100	z	
4. M100,100	L150,200	h50	v-100	l-50,50	z	
5. M100,100	L150,200	h50	v-100	l-50,50	L150,50	100,50	z
(0,0)
(100,100)
(150,200) (200,200)
(200,100) (150,150)
(150,50)(100,50)
z
z
z
z
<path	d="M300,200	h-150	a150,150	0	1,0	150,-150	z"

						fill="red"	stroke="blue"	stroke-width="5"	/>	


<path	d="M275,175	v-150	a150,150	0	0,0	-150,150	z"

						fill="yellow"	stroke="blue"	

						stroke-width="5"	/>
<path	d="M600,350	l	50,-50	

									a25,25	-30	0,1	50,-25	l	50,-25	

									a25,50	-30	0,1	50,-25	l	50,0	

									a25,75			0	0,1	50,0			l	50,25	

									a25,100	30	0,1	50,25		l	50,50"	


							fill="none"	stroke="red"		
							stroke-width="5"		/>
Fonte:	W3C	(SVG	spec)
Curvas e arcos
http://www.argonavis.com.br/astronomia/orbitas/
SVG DOM + JavaScript
• Usando DOM, pode-se construir gráficos
dinamicamente
var	svgNS	=	"http://www.w3.org/2000/svg";

var	xlinkNS	=	"http://www.w3.org/1999/xlink";	


var	circle	=	document.createElementNS(svgNS,"circle");

circle.setAttributeNS(null,"cx",500);

circle.setAttributeNS(null,"cy",500);

circle.setAttributeNS(xlinkNS,	"href",	"http://www.a/com");
var	svgNS	=	"http://www.w3.org/2000/svg";



function	criarCirculo(evt)	{

			var	randomX	=	

							Math.floor(	Math.random()	*	document.rootElement.getAttributeNS(null,	"width")			);

			var	randomY	=	

							Math.floor(	Math.random()	*	document.rootElement.getAttributeNS(null,	"height")		);

			var	color	=	"rgb("	+	Math.floor(Math.random()	*	256)	+",	"+	

																								Math.floor(Math.random()	*	256)	+",	"+	

																								Math.floor(Math.random()	*	256)	+")";



			var	circulo	=	document.createElementNS(svgNS,	"circle");

			circulo.setAttributeNS(null,	"cx",	randomX);

			circulo.setAttributeNS(null,	"cy",	randomY);

			circulo.setAttributeNS(null,	"fill",	color);

			circulo.setAttributeNS(null,	"r",		
																										evt.target.getAttributeNS(null,	"r"));

			

			circulo.addEventListener("click",	criarCirculo,	false);

			

			evt.target.parentNode.appendChild(circulo);

}
<svg	xmlns="http://www.w3.org/2000/svg"	width="500"	height="500">

			<script	type="text/ecmascript"	xlink:href="script_3.js"	/>

			<circle	cx="125"	cy="40"	r="5"			fill="green"	onclick="criarCirculo(evt)"/>

			<circle	cx="225"	cy="100"	r="10"	fill="blue"		onclick="criarCirculo(evt)"/>

			<circle	cx="325"	cy="170"	r="15"	fill="red"			onclick="criarCirculo(evt)"/>

</svg>
Bibliotecas gráficas
• Escrever código DOM e JavaScript é trabalhoso
• Muita repetição
• Programar não é fácil
• JavaScript é uma linguagem traiçoeira!
• Solução: bibliotecas JavaScript - HighCharts.js,
Charts.js, etc.
HighCharts.js
$(function	()	{		
				$('#container').highcharts({	
								chart:	{	
												type:	'bar'	
								},	
								title:	{	
												text:	'Fruit	Consumption'	
								},	
								xAxis:	{	
												categories:	['Apples',	'Bananas',	'Oranges']	
								},	
								yAxis:	{	
												title:	{	
																text:	'Fruit	eaten'	
												}	
								},	
								series:	[{	
												name:	'Jane',	
												data:	[1,	0,	4]	
								},	{	
												name:	'John',	
												data:	[5,	7,	3]	
								}]	
				});	
});
Desvantagens das
bibliotecas
• Como alterar o gráfico um pouco?
• Como combinar com mapas e gráficos
importados?
• Como otimizar?
• Bibliotecas ainda oferecem pouca flexibilidade!
Data-Driven Documents
(D3.js)
• Não é uma biblioteca gráfica
• Criada por Mike Bostock (NY Times)
• É uma "ponte" entre o JavaScript e HTML, SVG (e
potencialmente outras linguagens gráficas)
• Biblioteca trata da infraestrutura para conectar dados
a visualizações
• Simplifica uso do DOM (substitui JQuery)
• Muita flexibilidade
D3 passo-a-passo
• Inclua <script> vinculando página a arquivo d3.js
<script	src="d3.js"></script>	
• Carregue os dados:
d3.json("dados.json",	function(array)	{	...	}	
• Selecione objetos para acomodar os dados
var	selecao	=	d3.selectAll("div");	
• Selecione array de dados que serão usados
selecao.data(array);	
• Faça um join dos dados com os objetos gráficos
selecao.enter()	
• Adicione um elemento para cada item
selecao.append("div")
Mapas
• Vários dispositivos gravam dados de
geolocalização
• Como exibir esses dados em um mapa?
• Onde obter mapas?
Mapas públicos
• Há vários repositórios com mapas de domínio
público
• Dois formatos:
• Raster - tiles para vários níveis de zoom
• Vector - arquivos com pontos e polígonos
desenhados em coordenadas geográficas
Tiles
• Google Maps, OpenStreetMap, MapBox, CartoDB
• 2n
tiles (n = nível de zoom)
microsoft.com
Leaflet
• API JavaScript para uso de tiles
• Pode-se usar qualquer servidor (local, CartoDB,
MapBox, etc.)
var	mymap	=	L.map('mapid')

													.setView([51.505,	-0.09],	13);

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/
{y}.png).addTo(mymap);
Formatos
• SHP (coleção de arquivos usados em aplicações
GIS)
• KML, GML, GPX (formatos XML contendo dados
geográficos)
• GeoJSON: formatos JSON contendo dados
geográficos
GIS - Geographical Information System
• A maior parte dos dados de mapas públicos está
em formato SHP (ArcGIS)
QGIS
GeoJSON (geojson.org)
• Principal formato vetorial para mapas usado na Web
• Padrão JSON (JavaScript Object Notation) para GIS
• GeoJSON interativo: http://geojson.io/
{	
		"type":	"Feature",	
		"geometry":	{	
				"type":	"Point",	
				"coordinates":	[125.6,	10.1]	
		},	
		"properties":	{	
				"name":	"Dinagat	Islands"	
		}	
}
Várias
ferramentas
convertem de
SHP para
GeoJSON
Big Data
• Arquivos muito grandes são ineficientes ou
impraticáveis na Web
• Arquivos GeoJSON podem ter milhões de pontos
• Muitos pontos são redundantes
• Solução: eliminar redundâncias, reduzir pontos
https://bl.ocks.org/helderdarocha/raw/47fff819307ef8488607007ebb4f8b92/
TopoJSON
• Biblioteca JavaScript: https://github.com/mbostock/
topojson/wiki
• Teste online usando http://www.mapshaper.org/
• TopoJSON elimina linhas redundantes em GeoJSON
que aparecem em topologias
• Ex: contornos de um estado, e do estado vizinho
adjacente
• Arquivos ficam 90% menores
Como fazer um mapa
• Arquivos SHP ou GeoJSON do mapa a ser criado
• GDAL / OGR (ferramentas - gera estrutura vetorial): http://www.gdal.org/
• GEOJSON - padrão IETF para estruturas vetoriais: http://geojson.org/
• TopoJSON - extensão de GEOJSON que inclui topologia e torna os mapas
90% menores (ideais para a Web): https://github.com/mbostock/topojson/wiki
• SVG - padrão W3C para gráficos vetoriais na Web: https://www.w3.org/
Graphics/SVG/
• D3.js - API JavaScript que facilita o uso de JSON e SVG para geração de
gráficos vetoriais interativos e animações. http://d3js.org/
• JavaScript + DOM + HTML / CSS (tecnologias Web fundamentais)
Como fazer um mapa
• Construir página HTML para conter mapa
• Incluir bibliotecas JavaScript para D3, TopoJSON e outras
dependências
• Gerar arquivo JSON (texto contendo estrutura JS) a partir
de mapas SHP
• Editar arquivo JSON para incluir pontos de interesse
• Escrever código usando D3.js para configurar
coordenadas, escala, interatividade, desenhos (SVG),
links, animações, etc.
• Usar CSS para mudar cores, linhas, fontes, etc.
• Usar HTML para oferecer mais acessibilidade e fallbacks
www.geociencias.ufpb.br/leppan/gepat/atlas/
Referências
• Livros
• Douglas Hofstadter. Gödel, Escher, Bach: An Eternal Golden Braid. Basic Books,
1979.
• Edward R. Tufte. The Visual Display of Quantitative Information. Graphics Press,
1997
• David Kahneman. Thinking Fast and Slow. Farrar, Straus and Giroux. 2011.
• Stephen Few. Data Visualization: past, present and future. Perceptual Edge, 2007.
• Bederson & Schneiderman. The Craft of Information Visualization. 2003
• Isabel Meirelles. Design for Information. Rockport Publishers, 2013
• Stephen Thomas. Data Visualization with JavaScript. No Starch Press, 2015
• Scott Murray. Interactive Data Visualization for the Web: an introduction to
designing with D3, O’Reilly Media. 2014.
• Elijah Meeks. D3.js in Action: Data visualization with JavaScript. Manning
Publications. 2014
Referências
• Artigos
• Elijah Meeks. Gestalt Principles for Data Visualization. https://medium.com/
@Elijah_Meeks/gestalt-principles-for-data-visualization-59f18f20bd40
• Stephen Few, Tracking the Trends, Common Mistakes in Data Presentation,
intelligent enterprise, August 7, 2004.
• The Gestalt Laws of Perception. http://pt.slideshare.net/luisaepv/the-
gestalt-laws-of-perception
• Bibliotecas & serviços
• D3.js d3js.org & bl.ocks.org
• Leaflet project (leafletjs.com) & OpenLayers (openlayers.org)
• Esta palestra estará disponível para download em
• http://www.argonavis.com.br/download/
tdc_2016_dataviz.html
• Referências dos gráficos, livros, código e links usados na
apresentação também estarão disponíveis na página acima.
#dataviz
introdução à visualização de dados
Julho/2016
helder da rocha
helder@summa.com.br

Mais conteúdo relacionado

Mais procurados

Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010
Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010
Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010Joeldson Costa Damasceno
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indroduçãoRafael Pinheiro
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIDaniel Brandão
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de DadosIorgama Porcely
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados ConceitosCleber Ramos
 
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010Joeldson Costa Damasceno
 
Conceitos de Sistemas de Informação
Conceitos de Sistemas de InformaçãoConceitos de Sistemas de Informação
Conceitos de Sistemas de Informaçãoluanrjesus
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 
Introdução a Ciência de Dados
Introdução a Ciência de DadosIntrodução a Ciência de Dados
Introdução a Ciência de DadosNauber Gois
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃOINTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃOEdson Lima
 

Mais procurados (20)

Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010
Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010
Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
Data science
Data scienceData science
Data science
 
Scratch cap-1
Scratch cap-1Scratch cap-1
Scratch cap-1
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SI
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
UML - Diagrama de Pacotes
UML - Diagrama de PacotesUML - Diagrama de Pacotes
UML - Diagrama de Pacotes
 
Segurança em Banco de Dados
Segurança em Banco de DadosSegurança em Banco de Dados
Segurança em Banco de Dados
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010
 
Conceitos de Sistemas de Informação
Conceitos de Sistemas de InformaçãoConceitos de Sistemas de Informação
Conceitos de Sistemas de Informação
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
Introdução a Ciência de Dados
Introdução a Ciência de DadosIntrodução a Ciência de Dados
Introdução a Ciência de Dados
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Sistemas de Informação
Sistemas de InformaçãoSistemas de Informação
Sistemas de Informação
 
Big Data
Big DataBig Data
Big Data
 
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃOINTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
 

Semelhante a Introdução à Visualização de Dados (2015)

Aula introducao-redes-neurais
Aula introducao-redes-neuraisAula introducao-redes-neurais
Aula introducao-redes-neuraisLeo Laurett
 
Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?Sandro Moreira
 
Sociologia da Informação 7.pptx
Sociologia da Informação 7.pptxSociologia da Informação 7.pptx
Sociologia da Informação 7.pptxssuser3ca214
 
Visualização de Dados - Pesquisa e Prática - Esperança & Kosminsky
Visualização de Dados - Pesquisa e Prática - Esperança & KosminskyVisualização de Dados - Pesquisa e Prática - Esperança & Kosminsky
Visualização de Dados - Pesquisa e Prática - Esperança & KosminskyDoris Kosminsky
 
Oficina - Analytics - Ricardo Costa
Oficina - Analytics - Ricardo CostaOficina - Analytics - Ricardo Costa
Oficina - Analytics - Ricardo CostaRio Info
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Aula 4. Área Multidisciplinar
Aula 4. Área MultidisciplinarAula 4. Área Multidisciplinar
Aula 4. Área MultidisciplinarSilvia Dotta
 
Art&Fashion #2 | Etnografia
 Art&Fashion #2 | Etnografia Art&Fashion #2 | Etnografia
Art&Fashion #2 | Etnografiaartefashion
 
aula1 - Bigdata.pdf
aula1 - Bigdata.pdfaula1 - Bigdata.pdf
aula1 - Bigdata.pdfCyberboy11
 
Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Avelino Ferreira Gomes Filho
 
Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?
Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?
Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?Universidade Nova de Lisboa
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...tdc-globalcode
 
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...Alessandro Lima
 

Semelhante a Introdução à Visualização de Dados (2015) (20)

Infovis tutorial
Infovis tutorialInfovis tutorial
Infovis tutorial
 
Aula introducao-redes-neurais
Aula introducao-redes-neuraisAula introducao-redes-neurais
Aula introducao-redes-neurais
 
Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?Deep Learning do Zero ao Impossível: Qual o caminho?
Deep Learning do Zero ao Impossível: Qual o caminho?
 
Sociologia da Informação 7.pptx
Sociologia da Informação 7.pptxSociologia da Informação 7.pptx
Sociologia da Informação 7.pptx
 
Visualização de Dados - Pesquisa e Prática - Esperança & Kosminsky
Visualização de Dados - Pesquisa e Prática - Esperança & KosminskyVisualização de Dados - Pesquisa e Prática - Esperança & Kosminsky
Visualização de Dados - Pesquisa e Prática - Esperança & Kosminsky
 
Oficina - Analytics - Ricardo Costa
Oficina - Analytics - Ricardo CostaOficina - Analytics - Ricardo Costa
Oficina - Analytics - Ricardo Costa
 
Teoria Geral do Processo Eletrônico
Teoria Geral do Processo EletrônicoTeoria Geral do Processo Eletrônico
Teoria Geral do Processo Eletrônico
 
Pos teoria geral proc eletro
Pos teoria geral proc eletroPos teoria geral proc eletro
Pos teoria geral proc eletro
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Aula 4. Área Multidisciplinar
Aula 4. Área MultidisciplinarAula 4. Área Multidisciplinar
Aula 4. Área Multidisciplinar
 
Art&Fashion #2 | Etnografia
 Art&Fashion #2 | Etnografia Art&Fashion #2 | Etnografia
Art&Fashion #2 | Etnografia
 
aula1 - Bigdata.pdf
aula1 - Bigdata.pdfaula1 - Bigdata.pdf
aula1 - Bigdata.pdf
 
Apresentação ai
Apresentação aiApresentação ai
Apresentação ai
 
Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...
 
Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?
Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?
Visualização e análise espacial nas humanidades: o que ganhamos, o que perdemos?
 
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
TDC2017 | São Paulo - Trilha BigData How we figured out we had a SRE team at ...
 
Data Science For Dummies From a Dummy
Data Science For Dummies From a DummyData Science For Dummies From a Dummy
Data Science For Dummies From a Dummy
 
Lógica de programação e algoritmos
Lógica de programação e algoritmosLógica de programação e algoritmos
Lógica de programação e algoritmos
 
Oficina uem 2017
Oficina uem 2017Oficina uem 2017
Oficina uem 2017
 
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
 

Mais de Helder da Rocha

Como criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.jsComo criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.jsHelder da Rocha
 
Transforming public data into thematic maps (TDC2019 presentation)
Transforming public data into thematic maps (TDC2019 presentation)Transforming public data into thematic maps (TDC2019 presentation)
Transforming public data into thematic maps (TDC2019 presentation)Helder da Rocha
 
TDC 2019: transformando 
dados
públicos
em mapas interativos
TDC 2019: transformando 
dados
públicos
em mapas interativosTDC 2019: transformando 
dados
públicos
em mapas interativos
TDC 2019: transformando 
dados
públicos
em mapas interativosHelder da Rocha
 
Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasHelder da Rocha
 
Visualização de dados e a Web
Visualização de dados e a WebVisualização de dados e a Web
Visualização de dados e a WebHelder da Rocha
 
Eletrônica Criativa: criando circuitos com materiais alternativos
Eletrônica Criativa: criando circuitos com materiais alternativosEletrônica Criativa: criando circuitos com materiais alternativos
Eletrônica Criativa: criando circuitos com materiais alternativosHelder da Rocha
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8Helder da Rocha
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Helder da Rocha
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Helder da Rocha
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)Helder da Rocha
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Helder da Rocha
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Helder da Rocha
 
Atualização Java 8 (2014)
Atualização Java 8 (2014)Atualização Java 8 (2014)
Atualização Java 8 (2014)Helder da Rocha
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsHelder da Rocha
 
Threads 07: Sincronizadores
Threads 07: SincronizadoresThreads 07: Sincronizadores
Threads 07: SincronizadoresHelder da Rocha
 
Threads 08: Executores e Futures
Threads 08: Executores e FuturesThreads 08: Executores e Futures
Threads 08: Executores e FuturesHelder da Rocha
 

Mais de Helder da Rocha (20)

Como criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.jsComo criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.js
 
Transforming public data into thematic maps (TDC2019 presentation)
Transforming public data into thematic maps (TDC2019 presentation)Transforming public data into thematic maps (TDC2019 presentation)
Transforming public data into thematic maps (TDC2019 presentation)
 
TDC 2019: transformando 
dados
públicos
em mapas interativos
TDC 2019: transformando 
dados
públicos
em mapas interativosTDC 2019: transformando 
dados
públicos
em mapas interativos
TDC 2019: transformando 
dados
públicos
em mapas interativos
 
Padrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemasPadrões essenciais de mensageria para integração de sistemas
Padrões essenciais de mensageria para integração de sistemas
 
Visualização de dados e a Web
Visualização de dados e a WebVisualização de dados e a Web
Visualização de dados e a Web
 
Eletrônica Criativa: criando circuitos com materiais alternativos
Eletrônica Criativa: criando circuitos com materiais alternativosEletrônica Criativa: criando circuitos com materiais alternativos
Eletrônica Criativa: criando circuitos com materiais alternativos
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8
 
Java 9, 10, 11
Java 9, 10, 11Java 9, 10, 11
Java 9, 10, 11
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
 
Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7Minicurso de Segurança em Java EE 7
Minicurso de Segurança em Java EE 7
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
Curso de Java: Threads
Curso de Java: ThreadsCurso de Java: Threads
Curso de Java: Threads
 
Atualização Java 8 (2014)
Atualização Java 8 (2014)Atualização Java 8 (2014)
Atualização Java 8 (2014)
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
Threads 07: Sincronizadores
Threads 07: SincronizadoresThreads 07: Sincronizadores
Threads 07: Sincronizadores
 
Threads 09: Paralelismo
Threads 09: ParalelismoThreads 09: Paralelismo
Threads 09: Paralelismo
 
Threads 08: Executores e Futures
Threads 08: Executores e FuturesThreads 08: Executores e Futures
Threads 08: Executores e Futures
 

Introdução à Visualização de Dados (2015)