Visualización
1
Visualización
2
Visualización
3
The Datasaurus Dozen
Todos tienen igual:
Media, desviación
y correlación.
No confiar solo
en los indicadores
estadísticos.
Visualización
4
¿Demasiado Robusto?
En el ejemplo, el
diagrama de cajas
no cambia aunque
los datos cambien.
No confiar en un
solo tipo de gráfico
y siempre ver el
Raw Data
Visualización
5
Objetivos
• Explicar o comunicar información
• Descubrir con:
• Rapidez
• Precisión
• Confianza
Visualización
6
Ciclo
Realizar gráfico
Analizar lo que el
• Explicar o comunicar información
Limpiar base de
datos
Definir información
a transmitir gráfico expresa
• Descubrir con:
• Rapidez Transformar datos
y/o modificar
• Precisión gráfico
• Confianza
Detalles estéticos
finales
Deployment
Visualización
7
Pasos
1. Definir la historia que se quiere contar con los datos
01 comparaciones, etc.
▪Tendencia, variabilidad,
2. Seleccionar las variables a incluir
▪¿Se debe incluir el tiempo?
02
3. Definir el tipo de gráfico
▪Cuántos o cuáles gráficos, capas de gráficos
03
▪Naturaleza de las variables This is a sample text.
▪Tipo de datos: tablas, redes y árboles, espaciales, temporales, conjuntos o listas
▪Transformaciones
04
4. ¿Debe o no ser Interactivo?
5. Definir la estética
▪Marcas 05 This is a sample text.
▪Canales de visualización This is a sample text.
▪Nombres
Visualización
8
Definir el tipo
de Gráfico
Visualización
9
Tipos de Gráficos
01
02
03 This is a sample text.
FORMA RELACIÓN COMPARACIONES COMPOSICIONES
04 This is a sample text.
• Estáticas • Estáticas
05 This is a sample text. • En el tiempo • En el tiempo
Visualización
10
Forma
Permiten conocer la forma de la distribución de los datos.
01
Boxplot Histograma Densidad Violín
05 This is a sample text.
Posición Pocos datos Muchos datos Vertical
Visualización
11
Relaciones
Elementos a tener en cuenta:
01
• Escala de los ejes o tamaño de los puntos
• Transparencia de los puntos para mostrar traslapes
• Si desea percibirse la cantidad de observaciones, puede considerarse mover los
puntos levente (jitter plot)
Escalar-Escalar
05
Nube de Puntos Burbujas
2 variables 3 variables
Visualización
12
Comparaciones (I)
Al mezclar variables categóricas con escalares se pueden hacer por gráficos partidos o
01
particiones (facets).
Boxplot Joyplot Burbuja
05
Categórica-Escalar Categórica-Escalar Escalar-Escalar-Escalar-
Categórica-Categórica
Visualización
13
Comparaciones (II)
Se pueden mezclar elementos adicionales a los gráficos.
01
Burbuja Burbuja Mosaico
05
Adicional: Elipse Adicional: Ajuste de Reg. Adicional: Tamaño y color
de las barras
Visualización
14
Comparaciones (III)
01
Mapa de Calor Tornado o Mariposa o Pirámide Araña
05 Paquete: fmsb
Visualización
15
Comparaciones con Temporal
01 Barras Línea
Pocos Periodos Muchos Periodos
05
Visualización
16
Composición Estática
01
Barras agrupadas al 100% Barras agrupadas Cascada
05
Cantidad Relativa Cantidad Absoluta Paquete: Waterfalls
Visualización
17
Composición con Temporal
01
Barras agrupadas Área streamgraph
Pocos Periodos Muchos Periodos Suaviza los bordes
05
Visualización
18
01
05
Visualización
19
Espaciales
01
Mapa de Puntos Mapa de densidad Cartograma
05
Visualización
20
Espaciales o Redes
01
Choropleth Diagrama de Chord Mapa de Conexiones
05 Incluye Redes Incluye Redes
https://www.r-graph-gallery.com
Visualización
21
¿Interactivo?
Visualización
22
Conceptos
Ventajas
Herramientas
• Cantidad de información: agregar • Permite al usuario definir sus
o quitar capas esfuerzos de análisis
• Filtrado: listas desplegables, • Evita tener que realizar varios
bandas, checkboxes, zoom gráficos con diferentes filtros
• Información adicional: al pasar el
cursor, al dar clic
• Estética: se complementa
Desventajas
usualmente con html+css
Puede perderse el mensaje que
se quiere expresar con los datos
Formato de salida
Alternativas
Por facilidad, HTML
Animaciones predeterminadas
Visualización
23
Estética
Visualización
24
Codificación visual
Ítems Atributos
Marca que representa el elemento en el Son un canal de visualización:
gráfico: • Color
• Geometría • Forma
• Tamaño
• Fondo
• Subgráfico: dentro de un mapa, dentro
de coordenadas
Visualización
25
Marcas
Visualización
26
Atributos
Visualización
27
Atributos de Resalte
Visualización
28
Efectividad de percepción del canal
05
Agrupamiento
04
Resalte
03
Separación
02
Discriminación
01
Precisión
Visualización
29
Precisión
Visualización
30
Discriminación
Capacidad para diferenciar máximo de 5 a 7 colores diferentes (Hue).
Visualización
31
Separación
Visualización
32
Resalte y agrupamiento
http://www.fusioncharts.com/whitepapers/downloads/Principles-of-Data-Visualization.pdf
Visualización
33
Colores - Codificación
• RGB
• Saturación de rojo, verde y azul con valor máximo de 255 cada uno
• Ejemplo: (51, 255, 193)
• Hexadecimal
• Misma construcción del RGB pero presentando en Hexadecimal.
• Hexadecimal es en base 16 con {1,2,3,4,5,6,7,8,9, 𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹}
• Ejemplo: #33FFC1. 3316 = 51, 𝐹𝐹16 = 255, 𝐶116 = 193.
• En ggplot: scale_fill_manual(values), scale_colour_gradient(low, high)
• HSL
• Matiz: Es el color que está expresado como un ángulo. 0 es Rojo, 120 es Verde y 240 es Azul, 360 vuelve a ser Rojo.
• Saturación: Es un porcentaje, 0% es gris y 100% es el color real
• Luminosidad: Es un porcentaje, 0% es negro, 100% es blanco y 50% es el color real.
• Ejemplo: H:162, S=0.98, L=0.45.
• En ggplot: scale_fill_hue(h,s,l)
• H:
Visualización
34
Comparaciones de colores
RGB: {0,0,0} RGB: {0,0,0}
HEX: #000000 HEX: #000000
HSL: {X,X,0%} HSL: {X,0,25%}
RGB: {255,255,255} RGB: {255,255,255}
HEX: #FFFFFF HEX: #FFFFFF
HSL: {X,X,100%} HSL: {X,0,50%}
RGB: {255,0,0} RGB: {161,64,64} RGB: {255,0,0}
HEX: #FF0000 HEX: #FF0000 Coca Cola HEX: #FF0000
HSL: {0,100%,50%} HSL: {0,50%,50%} HSL: {0,100%,50%}
RGB: {0,255,0} RGB: {64,161,64} RGB: {104,180,69}
HEX: #00FF00 HEX: #00FF00 Android HEX: #68B44
HSL: {120,100%,50%} HSL: {120,50%,50%} HSL: {101,45%,49%}
RGB: {0,0,255} RGB: {64,64,161} RGB: {66,103,178}
HEX: #0000FF HEX: #0000FF Facebook HEX: #4267B2
HSL: {240,100%,50%} HSL: {240,50%,50%} HSL: {220,46%,48%}
Visualización
35
Paletas de colores
Coloridos Percepción uniforme
Rango amplio de colores Elementos similares deben
que permita identificar distinguirse fácilmente.
diferencias.
Disponibles para Colorblinds
• Los resultados presentados no deben cambiar sin importar qué personas las vea
• Recomendación, no usar escalas de rojo-verde
Visualización
36
Ejemplo de paletas en R
viridis Rcolorbrewer wesanderson
Base de R Escala de grises
Visualización
37
Uso de las paletas
SECUENCIA
• Gradiente: el color representa una magnitud
• Presentar datos que están ordenados, por lo
general de menor a mayor
• Ejemplos: densidad de color en: nube de
puntos, choropleths, etc.
DIVERGENCIA
• Gradiente: el color respresenta CUALITATIVO
una magnitud • Presentar diferentes colores
• Hacen énfasis en los valores que no representan
medios y extremos magnitudes
• Ejemplo: mapa de calor, tornado, • Ejemplo: diagrama de barras,
etc. diagrama de cajas, nubes de
puntos, etc.
Visualización
38
Adicionales
Agregar elementos que apoyen el contexto de
los datos:
• Nombres: título, ejes, etiquetas
• Orden de los datos: temporal, espacial, magnitud
• Ejes: amplitud, transformaciones, línea base,
saltos
• Geometrías adicionales: Líneas base, puntos de
referencia
• Canales adicionales: resalte, agrupación,
transparencias
• Traslapes de gráficos: compensar falencias de un
gráfico con otro
• Fondo: Color, líneas de división
Visualización
39
Recomendaciones (I)
• No usar color para variables categóricas a menos que sea para agrupación o resalte
• Si la escala de color es gradiente
• Usar una paleta de colores que facilite la comprensión de magnitud (HSL en vez de RGB)
• Si se desea resaltar elementos de bueno o malo, usar como color base el gris y como color de comparación azul o
naranja. HSL variando S
• Para resaltar valores de bueno o malo usar notación semáforo (precaución con colorblinds)
• Usualmente se considera que hay más armonía si hay menos variación en H en la paleta utilizada
• Usar un color de fondo neutral: blanco o gris, a menos que se busque generar emociones, cálidas, frías, neutrales
(Teoría del color)
• Sin embargo: la percepción del color puede cambiar según cultura, edad, género, contexto
Lecturas de Interés:
• Chevreul, M. E. (1839). The principles of harmony and contrast of colors. Birren, F. (Ed.) (1987). New York: Van
Nostrand Reinhold.
• Karen B. Schloss & Stephen E. Palmer. Aesthetic response to color combinations: preference, harmony, and similarity.
Atten Percept Psychophys (2011) 73:551–571.
Visualización
40
Recomendaciones (II)
• Definir el tipo de gráfico según la historia a contar: variabilidad, comparaciones,
comportamiento en el tiempo, tipo de variables, etc.
• Agregar título, nombre a los ejes y etiquetas
• Definir de manera relativa a los datos la amplitud de los ejes
• No agregar muchas variables a un solo gráfico
• No traslapar muchos tipos de gráficos diferentes
• De ser necesario, definir una transformación correcta
• Presentar de manera correcta los valores de referencia de los ejes (breaks)
• Ordenar las variables categóricas según alguna propiedad de los datos
Visualización
41
Gramática de gráficos (R-Hadley Wickham)
• Una capa de un gráfico se compone de:
• Datos: importante la naturaleza de la variable
• Geometría: qué gráfica realizar: boxplot, histograma, barras, etc.
• Mapeo: qué variables presentar y qué representan: tamaño, intensidad de color, posición, etc.
• Estadística: qué graficar de la variable: cantidad, densidad, promedio, valor único de la variable (identidad)
• Posición: Ajuste que se hace a la posición del gráfico: agrupados, apilados, separados, etc.
• Elementos adicionales del gráfico:
• Escalas: cómo se presentan los datos en el gráfico: ejes y legendas, amplitud de ejes, saltos, transformación de los ejes,
nombres, etc.
• scale_x_continuous(), scale_y_discrete(), scale_colour_discrete(), scale_x_log10()
• Temas: ajuste del texto, colores de texto, etiquetas, fondo, paleta de colores, etc.
• Aspectos (Facets): subgráficos presentados por cada categoría
• Coordenadas: cartesianas, polares
• Las capas pueden sobreponerse unas a otra
• Ejemplo: ggplot(Datos, aes(x=Var1, y=Var2))+geom_line(stat=“identity”, position=fill)
datos mapeo geometría estadística posición
Visualización
42
Ejemplos de gráficos Barras*
Diagrama de flujo – Similar al Sankey
Diagram
Sub gráficos, colores.
Cascada+Línea+Barras°
Información espacial, temporal, cantidad
2 gráficos en uno: grid+gridExtra
°http://anhhoangduc.com/blog/create-waterfall-chart-with-ggplot2/
*https://blog.revolutionanalytics.com/2012/09/visualize-complex-data-with-subplots.html
Visualización
43
Online Vs. Offline
Visualización
44
Distinciones
Online Offline
Gráfico que cambia en tiempo real Gráfico que no cambia
Computacionalmente, debe ser más rápido y eficiente Puede tardar un poco más
Gráficos con más información y no necesariamente
Gráficos con poca información y mucho resalte
con resalte
Se recomienda usar colores con paleta distinguible
Puede usarse otros tipos de paletas
(Rojo-Amarillo-Verde)
Debe expresarse a través de texto, valores No siempre es necesario, puede usarse únicamente
interesantes como referencia los ejes
Visualización
45
Recomendaciones - Dashboards
• Inspirarse en creaciones hechas por los demás: Gráficos, colores, formas, etc.
• No saturar: Usar la menor cantidad de gráficas
• No usar muchos gráficos repetidos o de información repetida
• ¿es suficiente solo con el valor en texto del indicador?
• Poner valores o canales de referencia: ¿Qué es bueno? ¿Qué es malo?
• Usar estilo de rejilla: Ayuda a que se vean más ordenados los gráficos. Atención irá de arriba-debajo de izquierda-
derecha
• Usar fuentes adecuadas: Tipos de letra atractivos y fáciles de leer
• Simplificar colores: Usar paletas de colores sencillas y con alta saturación. Las zonas con más contraste serán las de
mayor atención
• Valores en texto: No todo debe ser gráficos. Poner el valor del indicador relevante y resaltarlo
• Iteración: Proceso de mejora continua del gráfico
• Evaluación externa: Para evitar sesgos, evaluar la capacidad de transmitir información del gráfico con personas ajenas al
proceso
Visualización
46
Ejemplos Dashboards
Visualización
47
Errores (obvios)
en los gráficos
Visualización
48
Errores de forma
Tamaño de letra incorrecto + 3D Imagen de fondo
Visualización
49
Escala
Valor inicial > 0 Valor inicial = 0 Datos sin transformar Datos transformados
Visualización
50
Errores
http://stat405.had.co.nz/lectures/21-grammar-of-graphics.pdf
Visualización
51
Infografías
Visualización
52
Visualización
53
Enlaces de Interés
• Videos:
• Evolución de los ingresos y esperanza de vida de los países: clic aquí
• Evolución de ingresos de los países: clic aquí
• Evolución del ELO de los jugadores de ajedrez en la historia: clic aquí
• Gráficos interactivos
• Nombres de bebés en USA: clic aquí
• Comparaciones entre países: clic aquí
• Evolución de la música: clic aquí
• Gráficos interactivos en Shiny (R)
• Visor del genoma humano y cáncer de páncreas: clic aquí
• Información geográfica con mapas: clic aquí
• Turismo en Nueva Zelanda: clic aquí
Visualización
54
Paquetes en R
• Paleta de Colores • Espacial
• RColorBrewer • maps
• wesanderson • geosphere
• viridis • rgdal
• ggsi • ggmap
• Gráficos adicionales • leaflet
• streamgraph • cartography
• fmsb • Interactivos
• waterfalls • plotly
• ggridges • Rmarkdown
• circliz • Shiny
• ggsubplot • gganimations
• Extensiones de ggplot
• https://www.ggplot2-exts.org/
Visualización
55
Alternativas
• R
• Ggplot2, ggviz, plotly
• Galería de gráficos: clic aquí
• Python
• MatPlotLib, plotly
• Galería de gráficos: clic aquí
• D3-Javascript
• Plotly
• Galería de gráficos: clic aquí
• Tableu
• Galería de gráficos: clic aquí
Visualización
56