SlideShare a Scribd company logo
1 of 13
Download to read offline
Data
Visualization
in Web
Lykaio Wang
Co-founder & CTO /in/lykaiowang
Why does it matter?
AccessibilityFreedom Diversity
Context changes everything.
DOM SVG Canvas WebGL
https://philogb.github.io/philogl/PhiloGL/examples/worldFlights/https://developer.mozilla.org/kab/docs/Web/API/Canvas_APIhttps://svgontheweb.com/https://en.wikipedia.org/wiki/Document_Object_Model
Tools of the Trade.
Use Case Tools Pros Cons
Standard Bar / Pie / Line
Charts
Chartist.js; Chart.js Ease of Use Limited Customizability;
Lack of granular control
Highly Interactive, animation
heavy non-standard
visualizations
Pixi.js; Three.js Performant;
Powerful;
Steep learning curve;
Overkill for simple datasets;
My hair is on fire!!! Highcharts; Chartio Tight integration with data
infrastructure;
Point and Click
Vendor Lock-in;
Close-Sourced;
Pricey
Simple / Complex
Visualizations;
Moderate amount of
animations;
Independent codebase;
D3.js Functional;
Mathematical;
Modular;
Flexible;
Large active community;
3D
A few Concepts.
1. D3 Can Manipulate the DOM (Document Object Model)
https://medium.freecodecamp.org/learn-d3-js-in-5-minutes-c5ec29fb0725
Today is a beautiful day!!
Today is a beautiful day!!
A few Concepts.
2. D3 Can Bind Data to the DOM
A few Concepts.
3. D3 Can Create SVGs
Let’s break it down - Candlesticks
[
{ open: 43.5, close: 23.6, high: 51.7, low: 18.9 },
{ open: 23.6, close: 39.8, high: 41.2, low: 11.2 },
...
]
Let’s break it down - Choropleth
https://medium.com/@anilnairxyz/choropleth-map-using-d3-a8cfa9c5e209
https://github.com/topojson/topojson/wiki/Introduction
Let’s Break it Down - Trees
http://www.d3noob.org/2014/01/tree-diagrams-in-d3js_11.html
https://d3-wiki.readthedocs.io/zh_CN/master/Tree-Layout/
{
"name": "Top Node",
"children": [
{
"name": "Bob: Child of Top Node",
"parent": "Top Node",
"children": [
{
"name": "Son of Bob",
"parent": "Bob: Child of Top Node"
},
{
"name": "Daughter of Bob",
"parent": "Bob: Child of Top Node"
}
]
},
{
"name": "Sally: Child of Top Node",
"parent": "Top Node"
}
]
}
Takeaways
D3 is very modular, start messing around with it.
Focus on the data, not the syntax.
Google is your best friend, don’t reinvent the wheel.
Thank You.
Questions?

More Related Content

Similar to Lykaio Wang - Data Visualization in Web

Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonHamed Hatami
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Nedelcho Delchev
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty grittyMario Noble
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs mentoresd
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architecturessgleadow
 
自己紹介とStoryblok紹介(5分 ver)
自己紹介とStoryblok紹介(5分 ver)自己紹介とStoryblok紹介(5分 ver)
自己紹介とStoryblok紹介(5分 ver)Arisa Fukuzaki
 
Responsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparisonResponsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparisonDhrubaJyoti Dey
 
Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)Naveen Krishnamurthy
 
Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementInside Analysis
 
Blast Mojo Overview
Blast Mojo OverviewBlast Mojo Overview
Blast Mojo Overviewloyalchow
 
MSPInspire - Azure ML and Power BI
MSPInspire - Azure ML and Power BIMSPInspire - Azure ML and Power BI
MSPInspire - Azure ML and Power BIOrlando Mariano
 
Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!Visual_BI
 
RedisGraph A Low Latency Graph DB: Pieter Cailliau
RedisGraph A Low Latency Graph DB: Pieter CailliauRedisGraph A Low Latency Graph DB: Pieter Cailliau
RedisGraph A Low Latency Graph DB: Pieter CailliauRedis Labs
 
HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...
HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...
HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...Idexcel Technologies
 
CVCC - Data Visualization and VisiFire
CVCC - Data Visualization and VisiFireCVCC - Data Visualization and VisiFire
CVCC - Data Visualization and VisiFireryanaoliveira
 
20101109 (tech ed) how frameworks kill projects
20101109   (tech ed) how frameworks kill projects20101109   (tech ed) how frameworks kill projects
20101109 (tech ed) how frameworks kill projectsSander Hoogendoorn
 
Microsoft BI Cool Data Visualizations
Microsoft BI Cool Data VisualizationsMicrosoft BI Cool Data Visualizations
Microsoft BI Cool Data VisualizationsMark Kromer
 
Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...
Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...
Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...Data Con LA
 

Similar to Lykaio Wang - Data Visualization in Web (20)

Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty
 
Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs Developing the Next Generation Embedded HMIs
Developing the Next Generation Embedded HMIs
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
自己紹介とStoryblok紹介(5分 ver)
自己紹介とStoryblok紹介(5分 ver)自己紹介とStoryblok紹介(5分 ver)
自己紹介とStoryblok紹介(5分 ver)
 
Responsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparisonResponsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparison
 
Basics of Backbone.js
Basics of Backbone.jsBasics of Backbone.js
Basics of Backbone.js
 
Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)
 
Standard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data ManagementStandard Issue: Preparing for the Future of Data Management
Standard Issue: Preparing for the Future of Data Management
 
Blast Mojo Overview
Blast Mojo OverviewBlast Mojo Overview
Blast Mojo Overview
 
MSPInspire - Azure ML and Power BI
MSPInspire - Azure ML and Power BIMSPInspire - Azure ML and Power BI
MSPInspire - Azure ML and Power BI
 
Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!Snowflake: The most cost-effective agile and scalable data warehouse ever!
Snowflake: The most cost-effective agile and scalable data warehouse ever!
 
RedisGraph A Low Latency Graph DB: Pieter Cailliau
RedisGraph A Low Latency Graph DB: Pieter CailliauRedisGraph A Low Latency Graph DB: Pieter Cailliau
RedisGraph A Low Latency Graph DB: Pieter Cailliau
 
HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...
HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...
HTML5 Handling Security Issues, Security Threats for HTML5, HTML5 Application...
 
CVCC - Data Visualization and VisiFire
CVCC - Data Visualization and VisiFireCVCC - Data Visualization and VisiFire
CVCC - Data Visualization and VisiFire
 
20101109 (tech ed) how frameworks kill projects
20101109   (tech ed) how frameworks kill projects20101109   (tech ed) how frameworks kill projects
20101109 (tech ed) how frameworks kill projects
 
Microsoft BI Cool Data Visualizations
Microsoft BI Cool Data VisualizationsMicrosoft BI Cool Data Visualizations
Microsoft BI Cool Data Visualizations
 
Practical html5
Practical html5Practical html5
Practical html5
 
Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...
Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...
Data Con LA 2022 - Pre- Recorded - Simplifying AI/ML using Databricks feature...
 

More from Zia Babar

Ways to Extract Variable Insights when Data is Scarse
Ways to Extract Variable Insights when Data is ScarseWays to Extract Variable Insights when Data is Scarse
Ways to Extract Variable Insights when Data is ScarseZia Babar
 
Key Influencers in Social Networks
Key Influencers in Social NetworksKey Influencers in Social Networks
Key Influencers in Social NetworksZia Babar
 
Daria Voronova - The Art of Telling a Story
Daria Voronova - The Art of Telling a StoryDaria Voronova - The Art of Telling a Story
Daria Voronova - The Art of Telling a StoryZia Babar
 
Waterloo Data Science and Data Engineering Meetup - 2018-08-29
Waterloo Data Science and Data Engineering Meetup - 2018-08-29Waterloo Data Science and Data Engineering Meetup - 2018-08-29
Waterloo Data Science and Data Engineering Meetup - 2018-08-29Zia Babar
 
Cloud Data Storage and Database
Cloud Data Storage and DatabaseCloud Data Storage and Database
Cloud Data Storage and DatabaseZia Babar
 
Introduction to Recommendation Systems
Introduction to Recommendation SystemsIntroduction to Recommendation Systems
Introduction to Recommendation SystemsZia Babar
 

More from Zia Babar (6)

Ways to Extract Variable Insights when Data is Scarse
Ways to Extract Variable Insights when Data is ScarseWays to Extract Variable Insights when Data is Scarse
Ways to Extract Variable Insights when Data is Scarse
 
Key Influencers in Social Networks
Key Influencers in Social NetworksKey Influencers in Social Networks
Key Influencers in Social Networks
 
Daria Voronova - The Art of Telling a Story
Daria Voronova - The Art of Telling a StoryDaria Voronova - The Art of Telling a Story
Daria Voronova - The Art of Telling a Story
 
Waterloo Data Science and Data Engineering Meetup - 2018-08-29
Waterloo Data Science and Data Engineering Meetup - 2018-08-29Waterloo Data Science and Data Engineering Meetup - 2018-08-29
Waterloo Data Science and Data Engineering Meetup - 2018-08-29
 
Cloud Data Storage and Database
Cloud Data Storage and DatabaseCloud Data Storage and Database
Cloud Data Storage and Database
 
Introduction to Recommendation Systems
Introduction to Recommendation SystemsIntroduction to Recommendation Systems
Introduction to Recommendation Systems
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 

Lykaio Wang - Data Visualization in Web

  • 2. Co-founder & CTO /in/lykaiowang
  • 3. Why does it matter? AccessibilityFreedom Diversity
  • 4. Context changes everything. DOM SVG Canvas WebGL https://philogb.github.io/philogl/PhiloGL/examples/worldFlights/https://developer.mozilla.org/kab/docs/Web/API/Canvas_APIhttps://svgontheweb.com/https://en.wikipedia.org/wiki/Document_Object_Model
  • 5. Tools of the Trade. Use Case Tools Pros Cons Standard Bar / Pie / Line Charts Chartist.js; Chart.js Ease of Use Limited Customizability; Lack of granular control Highly Interactive, animation heavy non-standard visualizations Pixi.js; Three.js Performant; Powerful; Steep learning curve; Overkill for simple datasets; My hair is on fire!!! Highcharts; Chartio Tight integration with data infrastructure; Point and Click Vendor Lock-in; Close-Sourced; Pricey Simple / Complex Visualizations; Moderate amount of animations; Independent codebase; D3.js Functional; Mathematical; Modular; Flexible; Large active community; 3D
  • 6. A few Concepts. 1. D3 Can Manipulate the DOM (Document Object Model) https://medium.freecodecamp.org/learn-d3-js-in-5-minutes-c5ec29fb0725 Today is a beautiful day!! Today is a beautiful day!!
  • 7. A few Concepts. 2. D3 Can Bind Data to the DOM
  • 8. A few Concepts. 3. D3 Can Create SVGs
  • 9. Let’s break it down - Candlesticks [ { open: 43.5, close: 23.6, high: 51.7, low: 18.9 }, { open: 23.6, close: 39.8, high: 41.2, low: 11.2 }, ... ]
  • 10. Let’s break it down - Choropleth https://medium.com/@anilnairxyz/choropleth-map-using-d3-a8cfa9c5e209 https://github.com/topojson/topojson/wiki/Introduction
  • 11. Let’s Break it Down - Trees http://www.d3noob.org/2014/01/tree-diagrams-in-d3js_11.html https://d3-wiki.readthedocs.io/zh_CN/master/Tree-Layout/ { "name": "Top Node", "children": [ { "name": "Bob: Child of Top Node", "parent": "Top Node", "children": [ { "name": "Son of Bob", "parent": "Bob: Child of Top Node" }, { "name": "Daughter of Bob", "parent": "Bob: Child of Top Node" } ] }, { "name": "Sally: Child of Top Node", "parent": "Top Node" } ] }
  • 12. Takeaways D3 is very modular, start messing around with it. Focus on the data, not the syntax. Google is your best friend, don’t reinvent the wheel.