SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
D3.js: DataVisualization
for the Web
Óscar Marín Miró
@outliers_es
www.outliers.es
D3.js - An Overview
‣D3 :“Data-driven Documents”
‣Javascript library
‣Over HTML5 standards
‣Steep learning curve
Technical features
Good for
‣Web Interactivity
‣Multi-device
‣Real-time,‘plastic’ data
Not-so-good for
‣Desktop apps
‣Static charts
‣Fast prototyping
http://en.wikipedia.org/wiki/D3.js
2011, Mike Bostock
Core concept : Data join
Data Elements
Enter Update Exit
http://bost.ocks.org/mike/join/
myData = [1,3,4];
join = data(myData,”svg:circle”);
join.enter().attr(radius,datum);
join.exit().remove();
join.update().attr(radius,datum);
Pseudo-code
CoreConcept:Layouts
myData = {‘nodes’: [
{‘name’:’a’},
{‘name’:’b’}],
‘egdes’:[
{‘source’:0,‘target:1}
]};
layout = layout(‘network’,‘myData’);
print layout;
myData = {‘nodes’: [
{‘name’:’a’,’x’:0,y:1},
{‘name’:’b’,’x’:1,y:0},
‘egdes’:[{‘source’:0,‘target:1}]};
Pseudo-code
References
Any questions?
Thanks for your attention!

Más contenido relacionado

La actualidad más candente

D3 Basic Tutorial
D3 Basic TutorialD3 Basic Tutorial
D3 Basic Tutorial
Tao Jiang
 
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de DatosJavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
philogb
 
Creating, Updating and Deleting Document in MongoDB
Creating, Updating and Deleting Document in MongoDBCreating, Updating and Deleting Document in MongoDB
Creating, Updating and Deleting Document in MongoDB
Wildan Maulana
 
New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011
philogb
 
MongoDB Schema Design
MongoDB Schema DesignMongoDB Schema Design
MongoDB Schema Design
Alex Litvinok
 

La actualidad más candente (19)

D3 Basic Tutorial
D3 Basic TutorialD3 Basic Tutorial
D3 Basic Tutorial
 
D3 js
D3 jsD3 js
D3 js
 
D3.js 30-minute intro
D3.js   30-minute introD3.js   30-minute intro
D3.js 30-minute intro
 
SVG, CSS3, and D3 for Beginners
SVG, CSS3, and D3 for BeginnersSVG, CSS3, and D3 for Beginners
SVG, CSS3, and D3 for Beginners
 
Introduction to d3js (and SVG)
Introduction to d3js (and SVG)Introduction to d3js (and SVG)
Introduction to d3js (and SVG)
 
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
D3.JS Tips & Tricks (export to svg, crossfilter, maps etc.)
 
Utahjs D3
Utahjs D3Utahjs D3
Utahjs D3
 
Advanced D3 Charting
Advanced D3 ChartingAdvanced D3 Charting
Advanced D3 Charting
 
Visual Exploration of Large Data sets with D3, crossfilter and dc.js
Visual Exploration of Large Data sets with D3, crossfilter and dc.jsVisual Exploration of Large Data sets with D3, crossfilter and dc.js
Visual Exploration of Large Data sets with D3, crossfilter and dc.js
 
Viewpic
ViewpicViewpic
Viewpic
 
JavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de DatosJavaScript para Graficos y Visualizacion de Datos
JavaScript para Graficos y Visualizacion de Datos
 
Лабораторная работа №1
Лабораторная работа №1Лабораторная работа №1
Лабораторная работа №1
 
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
 
Creating, Updating and Deleting Document in MongoDB
Creating, Updating and Deleting Document in MongoDBCreating, Updating and Deleting Document in MongoDB
Creating, Updating and Deleting Document in MongoDB
 
New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011
 
MongoDB Schema Design
MongoDB Schema DesignMongoDB Schema Design
MongoDB Schema Design
 
How to use NoSQL in Enterprise Java Applications - NoSQL Roadshow Basel
How to use NoSQL in Enterprise Java Applications - NoSQL Roadshow BaselHow to use NoSQL in Enterprise Java Applications - NoSQL Roadshow Basel
How to use NoSQL in Enterprise Java Applications - NoSQL Roadshow Basel
 
Understanding Connected Data through Visualization
Understanding Connected Data through VisualizationUnderstanding Connected Data through Visualization
Understanding Connected Data through Visualization
 
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
Java/Scala Lab: Борис Трофимов - Обжигающая Big Data.
 

Destacado (6)

My last three projects - wins and failures
My last three projects - wins and failuresMy last three projects - wins and failures
My last three projects - wins and failures
 
D3
D3D3
D3
 
D3.js mindblow
D3.js mindblowD3.js mindblow
D3.js mindblow
 
Intro to D3: Data-Driven Documents
Intro to D3: Data-Driven DocumentsIntro to D3: Data-Driven Documents
Intro to D3: Data-Driven Documents
 
Excel Document Recovery to the Rescue
Excel Document Recovery to the RescueExcel Document Recovery to the Rescue
Excel Document Recovery to the Rescue
 
Library Management System PPT
Library Management System PPTLibrary Management System PPT
Library Management System PPT
 

Similar a D3.js: Data Visualization for the Web

Content Delivery at Aviary - NYC MUG 11/19/13
Content Delivery at Aviary - NYC MUG 11/19/13Content Delivery at Aviary - NYC MUG 11/19/13
Content Delivery at Aviary - NYC MUG 11/19/13
MongoDB
 
Data Visualization on the Web - Intro to D3
Data Visualization on the Web - Intro to D3Data Visualization on the Web - Intro to D3
Data Visualization on the Web - Intro to D3
Angela Zoss
 

Similar a D3.js: Data Visualization for the Web (20)

[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
[Serverless Meetup Tokyo #3] Serverless in Azure (Azure Functionsのアップデート、事例、デ...
 
SharePoint Saturday Chicago - Everything your need to know about the Microsof...
SharePoint Saturday Chicago - Everything your need to know about the Microsof...SharePoint Saturday Chicago - Everything your need to know about the Microsof...
SharePoint Saturday Chicago - Everything your need to know about the Microsof...
 
Data visualization in JavaScript
Data visualization in JavaScriptData visualization in JavaScript
Data visualization in JavaScript
 
Blazing Fast Analytics with MongoDB & Spark
Blazing Fast Analytics with MongoDB & SparkBlazing Fast Analytics with MongoDB & Spark
Blazing Fast Analytics with MongoDB & Spark
 
Going Serverless with Azure Functions
Going Serverless with Azure FunctionsGoing Serverless with Azure Functions
Going Serverless with Azure Functions
 
Databricks: A Tool That Empowers You To Do More With Data
Databricks: A Tool That Empowers You To Do More With DataDatabricks: A Tool That Empowers You To Do More With Data
Databricks: A Tool That Empowers You To Do More With Data
 
Webinar: The Anatomy of the Cloudant Data Layer
Webinar: The Anatomy of the Cloudant Data LayerWebinar: The Anatomy of the Cloudant Data Layer
Webinar: The Anatomy of the Cloudant Data Layer
 
Content Delivery at Aviary - NYC MUG 11/19/13
Content Delivery at Aviary - NYC MUG 11/19/13Content Delivery at Aviary - NYC MUG 11/19/13
Content Delivery at Aviary - NYC MUG 11/19/13
 
MongoDB and Content Delivery at Aviary by Nir Zicherman and Jack Sisson
MongoDB and Content Delivery at Aviary by Nir Zicherman and Jack SissonMongoDB and Content Delivery at Aviary by Nir Zicherman and Jack Sisson
MongoDB and Content Delivery at Aviary by Nir Zicherman and Jack Sisson
 
OSCON 2011 CouchApps
OSCON 2011 CouchAppsOSCON 2011 CouchApps
OSCON 2011 CouchApps
 
Big Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerBig Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision Maker
 
Data Visualization on the Web - Intro to D3
Data Visualization on the Web - Intro to D3Data Visualization on the Web - Intro to D3
Data Visualization on the Web - Intro to D3
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"
 
C* for Deep Learning (Andrew Jefferson, Tracktable) | Cassandra Summit 2016
C* for Deep Learning (Andrew Jefferson, Tracktable) | Cassandra Summit 2016C* for Deep Learning (Andrew Jefferson, Tracktable) | Cassandra Summit 2016
C* for Deep Learning (Andrew Jefferson, Tracktable) | Cassandra Summit 2016
 
Wei ding(resume)
Wei ding(resume)Wei ding(resume)
Wei ding(resume)
 
MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)MongoDB for Coder Training (Coding Serbia 2013)
MongoDB for Coder Training (Coding Serbia 2013)
 
Introduction to data visualisation with D3
Introduction to data visualisation with D3Introduction to data visualisation with D3
Introduction to data visualisation with D3
 
Cross-Platform Mobile Apps & Drupal Web Services
Cross-Platform Mobile Apps & Drupal Web ServicesCross-Platform Mobile Apps & Drupal Web Services
Cross-Platform Mobile Apps & Drupal Web Services
 
What you need to know about Generative AI and Data Management?
What you need to know about Generative AI and Data Management?What you need to know about Generative AI and Data Management?
What you need to know about Generative AI and Data Management?
 
MongoDB for Analytics
MongoDB for AnalyticsMongoDB for Analytics
MongoDB for Analytics
 

Más de Outliers Collective

Building Data Teams - SmashTech BCN 13/02/2014
Building Data Teams - SmashTech BCN 13/02/2014Building Data Teams - SmashTech BCN 13/02/2014
Building Data Teams - SmashTech BCN 13/02/2014
Outliers Collective
 

Más de Outliers Collective (20)

Hacks+Hackers: Airbnb Bcn Data
Hacks+Hackers: Airbnb Bcn DataHacks+Hackers: Airbnb Bcn Data
Hacks+Hackers: Airbnb Bcn Data
 
3rd Barcelona Virtual Reality Meetup Introduction
3rd Barcelona Virtual Reality Meetup Introduction3rd Barcelona Virtual Reality Meetup Introduction
3rd Barcelona Virtual Reality Meetup Introduction
 
Nuevos usuarios, redes y lenguajes: Instagram y Twitter
Nuevos usuarios, redes y lenguajes: Instagram y TwitterNuevos usuarios, redes y lenguajes: Instagram y Twitter
Nuevos usuarios, redes y lenguajes: Instagram y Twitter
 
#bigdatacyl: Nuevos usuarios, nuevas redes, nuevos lenguajes
#bigdatacyl: Nuevos usuarios, nuevas redes, nuevos lenguajes#bigdatacyl: Nuevos usuarios, nuevas redes, nuevos lenguajes
#bigdatacyl: Nuevos usuarios, nuevas redes, nuevos lenguajes
 
Data, Cesium.js, StreetView
Data, Cesium.js, StreetViewData, Cesium.js, StreetView
Data, Cesium.js, StreetView
 
Minería de perfiles políticos en Twitter El caso de PP, PSOE y Podemos
Minería de perfiles políticos en Twitter El caso de PP, PSOE y PodemosMinería de perfiles políticos en Twitter El caso de PP, PSOE y Podemos
Minería de perfiles políticos en Twitter El caso de PP, PSOE y Podemos
 
"Las emociones nos conectan, las redes nos unen"
"Las emociones nos conectan, las redes nos unen""Las emociones nos conectan, las redes nos unen"
"Las emociones nos conectan, las redes nos unen"
 
Big data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UAB
Big data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UABBig data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UAB
Big data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UAB
 
Análisis Geoespacial y Redes Sociales
Análisis Geoespacial y Redes SocialesAnálisis Geoespacial y Redes Sociales
Análisis Geoespacial y Redes Sociales
 
Simple viz, complex analysis
Simple viz, complex analysisSimple viz, complex analysis
Simple viz, complex analysis
 
Big data. What's that?
Big data. What's that?Big data. What's that?
Big data. What's that?
 
VR: El nuevo interfaz
VR: El nuevo interfazVR: El nuevo interfaz
VR: El nuevo interfaz
 
#DataBeers: Inmersive Data Visualization con Oculus Rift
#DataBeers: Inmersive Data Visualization con Oculus Rift#DataBeers: Inmersive Data Visualization con Oculus Rift
#DataBeers: Inmersive Data Visualization con Oculus Rift
 
European creativity festival 2014: DataViz workshop
European creativity festival 2014: DataViz workshopEuropean creativity festival 2014: DataViz workshop
European creativity festival 2014: DataViz workshop
 
Perfiles y Proceso en la Visualización de la Información - UOC - Mosaic - UX ...
Perfiles y Proceso en la Visualización de la Información - UOC - Mosaic - UX ...Perfiles y Proceso en la Visualización de la Información - UOC - Mosaic - UX ...
Perfiles y Proceso en la Visualización de la Información - UOC - Mosaic - UX ...
 
Esdi - Big Bang Data - ZZZINC - Comunidades y proyectos
Esdi - Big Bang Data - ZZZINC - Comunidades y proyectosEsdi - Big Bang Data - ZZZINC - Comunidades y proyectos
Esdi - Big Bang Data - ZZZINC - Comunidades y proyectos
 
Big data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UAB
Big data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UABBig data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UAB
Big data: Valor y Mercado: Escola Universitària Salesians de Sarrià - UAB
 
Big data: Valor y Mercado
Big data: Valor y MercadoBig data: Valor y Mercado
Big data: Valor y Mercado
 
Cccb cartografia social
Cccb cartografia socialCccb cartografia social
Cccb cartografia social
 
Building Data Teams - SmashTech BCN 13/02/2014
Building Data Teams - SmashTech BCN 13/02/2014Building Data Teams - SmashTech BCN 13/02/2014
Building Data Teams - SmashTech BCN 13/02/2014
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

D3.js: Data Visualization for the Web

  • 1. D3.js: DataVisualization for the Web Óscar Marín Miró @outliers_es www.outliers.es
  • 2. D3.js - An Overview ‣D3 :“Data-driven Documents” ‣Javascript library ‣Over HTML5 standards ‣Steep learning curve Technical features Good for ‣Web Interactivity ‣Multi-device ‣Real-time,‘plastic’ data Not-so-good for ‣Desktop apps ‣Static charts ‣Fast prototyping http://en.wikipedia.org/wiki/D3.js 2011, Mike Bostock
  • 3. Core concept : Data join Data Elements Enter Update Exit http://bost.ocks.org/mike/join/ myData = [1,3,4]; join = data(myData,”svg:circle”); join.enter().attr(radius,datum); join.exit().remove(); join.update().attr(radius,datum); Pseudo-code
  • 4. CoreConcept:Layouts myData = {‘nodes’: [ {‘name’:’a’}, {‘name’:’b’}], ‘egdes’:[ {‘source’:0,‘target:1} ]}; layout = layout(‘network’,‘myData’); print layout; myData = {‘nodes’: [ {‘name’:’a’,’x’:0,y:1}, {‘name’:’b’,’x’:1,y:0}, ‘egdes’:[{‘source’:0,‘target:1}]}; Pseudo-code
  • 6. Any questions? Thanks for your attention!