COMPONENTES
REUTILIZABLES
CON D3.JS
Cómo dejé de copiar y pegar gráficos
Data Visualization Society - Madrid
Código y enlaces en:
github.com/datairahub/d3js-components-workshop
Preguntas e improperios a:
twitter.com/Saigesp
Santi Espinosa (yo)
Desarrollador web especializado en datos
CÓMO LLEGUÉ HASTA AQUÍ
Madrid
Valencia
REFACTOR TIME
Ahora necesitamos tres arcos
Ahora necesitamos tres arcos
Y que el tamaño cambie si el usuario gira el móvil
Y que se actualicen los datos al darle a un botón
Ahora necesitamos tres arcos
Y que el tamaño cambie si el usuario gira el móvil
Y que se actualicen los datos al darle a un botón
Ahora necesitamos tres arcos
Y que el tamaño cambie si el usuario gira el móvil
Y que cuando hagas click te lleve a esta página
Y un tooltip distinto para cada uno
Y que se actualicen los datos al darle a un botón
Ahora necesitamos tres arcos
Y que el tamaño cambie si el usuario gira el móvil
Y que cuando hagas click te lleve a esta página
Y…
REFACTOR
Problema:
Programación funcional
f(x)
output
input
Programación funcional
createArcChart()
drawArcs()
etc
container
data
width
height
createArcChart()
drawArcs()
etc
container
data
width
height
Solución:
Programación orientada a objetos (OOP)
OOP
drawArcs()
constructor()
update()
data
width
height
size
etc
REFACTOR TIME II
CÓMO
QUÉ
+ tooltip
+ tooltip
+ anotaciones
+ tooltip
+ filtros
+ anotaciones
+ tooltip
+ filtros
+ resize
+ anotaciones
+ tooltip
+ filtros
+ clicks
+ resize
+ anotaciones
+ tooltip
+ filtros
+ hovers
+ clicks
+ resize
+ anotaciones
+ tooltip
+ animaciones
+ filtros
+ hovers
+ clicks
+ resize
+ anotaciones
+ tooltip
+ animaciones
+ filtros
+ hovers
+ clicks
+ resize
+ anotaciones
+ ejes
+ tooltip
+ animaciones
+ filtros
+ hovers
+ clicks
+ resize
+ anotaciones
+ ejes
+ títulos de ejes
Y…
QUÉ
[qué]
CÓMO EL
[qué]
QUÉ GRÁFICOS
QUÉ OPCIONES
QUÉ SE CALCULA
QUÉ SE ACEPTA
LA LIBRERÍA DE GRÁFICOS PERFECTA
ES UNA TRAMPA
librerías de gráficos
librerías de gráficos
librería de gráficos
librerías de gráficos
CONCLUSIONES
Cada proyecto requiere gráficos específicos
Componetizar es una apuesta de tiempo
Solo gana (y aprende) quien arriesga
FIN
github.com/datairahub/d3js-components-workshop
github.com/datairahub/d3js-components-workshop
github.com/datairahub/d3js-components-workshop
MUCHAS GRACIAS