SlideShare a Scribd company logo
Lorraine Sawicki
lorraine.sawicki@gmail.com
Design Engineering
with React + D3
I fell in love with data visualizations:
- They’re cool looking
- It’s technical
- Information is conveyed quickly
Inspiration
A few examples of the
first interactive web
projects that made me
want to learn more...
The Pudding / Shirley Wu. “So I went through every single line in Hamilton (twice 😱 ) and recorded
who sang each line, as well as who that line may have been directed towards. I've noted every phrase
that was sung more than once across more than one song, and grouped them into broad themes*. You
can find my lovingly (obsessively) curated data here.
To explore the data, I created a visual tool to filter the lines by any combination of characters,
conversations, and themes. The insights were amazing, and I'm excited to share with you both the visual
tool and my analysis of Hamilton with it.”
Storiesbehindaline.com -> interactive data viz on paths migrants took to Italy. No
photos were used, only the stories told and the path. Data journalism, telling a story.
https://www.washingtonpost.com/graphics/2018/national/segregation-us-cities/?utm_t
erm=.d19521252b33
Segregation in US cities. At the bottom author states “The project analysis was
done mostly in node.js with some work in PostGIS. While several technologies
were used in this project, special thanks goes to Mapbox’s helpful suite of
tools and d3.js.”...
But with a little digging on twitter, I also found that the project used “react,
redux, async/await and streams”
https://projects.sfchronicle.com/2018/fire-tracker/
Tools of the trade
There is a lot of data viz
technology out there.
Design engineering with d3+react with-speaker-notes
What you need to say create a radial
tree in Tableau: code it up yourself
http://www.datablick.com/blog/2015/10/12/radial-trees-in-tableau-by-chris-demartini
Well d3 does it too
https://beta.observablehq.com/@mbostock/d3-radial-tidy-tree
Here we go.
This is why I’m focusing on
React + D3.
“The hardest problem in javascript is finding whatever clicks for you and using it and
happily ignoring the rest”
Remember the following:
- React owns the DOM (Document Object
Model)
- D3 calculates properties
“Let’s get rid of the hard stuff and move forward.”
Workflow process
“Let’s get rid of the hard stuff and move forward.”
D3 by itself
“Let’s get rid of the hard stuff and move forward.”
How to go from this ^
To this!! --->
“Let’s get rid of the hard stuff and move forward.”
// initial circles created with radius and fill color
var node = d3.select("#circles")
.append("g")
.selectAll("circle")
.data(data)
.enter().append("circle")
.attr("r",function(d) {
if (d.season === 1) { return 6; }
else if (d.season === 2) { return 9; }
})
.attr("fill",function(d) {
return d.color;
})
“Let’s get rid of the hard stuff and move forward.”
// use force Simulation and force Collide to randomly place the circles
var simulation = d3.forceSimulation(data)
.force("charge", d3.forceCollide().radius(5))
.force("r", d3.forceRadial(function(d) {
if (d.season === 1) { return 50; }
else if (d.season === 2) { return 100; }
else if (d.season === 3) { return 150; }
else if (d.season === 4) { return 200; }
}))
.on("tick", ticked);
“Let’s get rid of the hard stuff and move forward.”
“Let’s get rid of the hard stuff and move forward.”
Now bring in React...
“Let’s get rid of the hard stuff and move forward.”
You can “black box” the D3/React interaction…super simple, functional, but not really a
solution!
At this point we went to Lorraine’s codepen to look at some example forked projects.
“Let’s get rid of the hard stuff and move forward.”
React-D3-Axis for blackbox model….
You can “black box” the D3/React interaction…or really make each technology do what it’s
best at doing!
Remember, D3 should calculate. React should render.
3 steps
- Set up the D3 objects
- When a React component updates, update the D3 objects
- Output SVG in render
React color band example for the
Now, go and make
useful, attractive,
and fast web
applications.
Thank you!!
Resources for additional React + D3
tutorials and lessons:
Book: Interactive Data Visualization for the Web by Scott Murrary
Frontend Masters course on D3+React by Shirley Wu
E-Book: React + D3V4 by Swizec Teller

More Related Content

Similar to Design engineering with d3+react with-speaker-notes (20)

React with D3 - who’s in control?
React with D3 - who’s in control?React with D3 - who’s in control?
React with D3 - who’s in control?
Ridhwana Khan
 
Pittsburgh code and supply
Pittsburgh code and supplyPittsburgh code and supply
Pittsburgh code and supply
dudaspm
 
The D3 Toolbox
The D3 ToolboxThe D3 Toolbox
The D3 Toolbox
Mark Rickerby
 
React and d3
React and d3React and d3
React and d3
Freddy Rangel
 
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.)
Oleksii Prohonnyi
 
Data visualisation with D3
Data visualisation with D3Data visualisation with D3
Data visualisation with D3
Florian Evéquoz
 
An Intense Overview of the React Ecosystem
An Intense Overview of the React EcosystemAn Intense Overview of the React Ecosystem
An Intense Overview of the React Ecosystem
Rami Sayar
 
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
 
Introduction to D3.js
Introduction to D3.jsIntroduction to D3.js
Introduction to D3.js
Oleksii Prohonnyi
 
SVGD3Angular2React
SVGD3Angular2ReactSVGD3Angular2React
SVGD3Angular2React
Oswald Campesato
 
Data visualization with d3 may19
Data visualization with d3 may19Data visualization with d3 may19
Data visualization with d3 may19
Michael Posso
 
Functional Web Development
Functional Web DevelopmentFunctional Web Development
Functional Web Development
FITC
 
Understanding Connected Data through Visualization
Understanding Connected Data through VisualizationUnderstanding Connected Data through Visualization
Understanding Connected Data through Visualization
Sebastian Müller
 
Lykaio Wang - Data Visualization in Web
Lykaio Wang - Data Visualization in WebLykaio Wang - Data Visualization in Web
Lykaio Wang - Data Visualization in Web
Zia Babar
 
Data Visualizations with D3.js
Data Visualizations with D3.jsData Visualizations with D3.js
Data Visualizations with D3.js
Brian Greig
 
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
Florian Georg
 
React - The JavaScript Library for User Interfaces
React - The JavaScript Library for User InterfacesReact - The JavaScript Library for User Interfaces
React - The JavaScript Library for User Interfaces
Jumping Bean
 
Charlotte Front End - D3
Charlotte Front End - D3Charlotte Front End - D3
Charlotte Front End - D3
Brian Greig
 
React.js at Cortex
React.js at CortexReact.js at Cortex
React.js at Cortex
Geoff Harcourt
 
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ritheory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
paridhiagarwal129
 
React with D3 - who’s in control?
React with D3 - who’s in control?React with D3 - who’s in control?
React with D3 - who’s in control?
Ridhwana Khan
 
Pittsburgh code and supply
Pittsburgh code and supplyPittsburgh code and supply
Pittsburgh code and supply
dudaspm
 
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.)
Oleksii Prohonnyi
 
Data visualisation with D3
Data visualisation with D3Data visualisation with D3
Data visualisation with D3
Florian Evéquoz
 
An Intense Overview of the React Ecosystem
An Intense Overview of the React EcosystemAn Intense Overview of the React Ecosystem
An Intense Overview of the React Ecosystem
Rami Sayar
 
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
 
Data visualization with d3 may19
Data visualization with d3 may19Data visualization with d3 may19
Data visualization with d3 may19
Michael Posso
 
Functional Web Development
Functional Web DevelopmentFunctional Web Development
Functional Web Development
FITC
 
Understanding Connected Data through Visualization
Understanding Connected Data through VisualizationUnderstanding Connected Data through Visualization
Understanding Connected Data through Visualization
Sebastian Müller
 
Lykaio Wang - Data Visualization in Web
Lykaio Wang - Data Visualization in WebLykaio Wang - Data Visualization in Web
Lykaio Wang - Data Visualization in Web
Zia Babar
 
Data Visualizations with D3.js
Data Visualizations with D3.jsData Visualizations with D3.js
Data Visualizations with D3.js
Brian Greig
 
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
Florian Georg
 
React - The JavaScript Library for User Interfaces
React - The JavaScript Library for User InterfacesReact - The JavaScript Library for User Interfaces
React - The JavaScript Library for User Interfaces
Jumping Bean
 
Charlotte Front End - D3
Charlotte Front End - D3Charlotte Front End - D3
Charlotte Front End - D3
Brian Greig
 
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ritheory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
paridhiagarwal129
 

Recently uploaded (20)

Search Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website SuccessSearch Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website Success
muneebrana3215
 
LDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College VolumeLDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College Volume
LDM & Mia eStudios
 
Dashboard Overview in Odoo 18 - Odoo Slides
Dashboard Overview in Odoo 18 - Odoo SlidesDashboard Overview in Odoo 18 - Odoo Slides
Dashboard Overview in Odoo 18 - Odoo Slides
Celine George
 
Types of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo SlidesTypes of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo Slides
Celine George
 
POS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 SlidesPOS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 Slides
Celine George
 
LDMMIA Free Reiki Yoga S7 Weekly Workshops
LDMMIA Free Reiki Yoga S7 Weekly WorkshopsLDMMIA Free Reiki Yoga S7 Weekly Workshops
LDMMIA Free Reiki Yoga S7 Weekly Workshops
LDM & Mia eStudios
 
Pragya Champion's Chalice 2025 Set , General Quiz
Pragya Champion's Chalice 2025 Set , General QuizPragya Champion's Chalice 2025 Set , General Quiz
Pragya Champion's Chalice 2025 Set , General Quiz
Pragya - UEM Kolkata Quiz Club
 
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdf
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdfForestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdf
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdf
ChalaKelbessa
 
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar SirPHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
Diwakar Kashyap
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-30-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-30-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-30-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
Arshad Shaikh
 
Odoo 18 Point of Sale PWA - Odoo Slides
Odoo 18 Point of Sale PWA  - Odoo  SlidesOdoo 18 Point of Sale PWA  - Odoo  Slides
Odoo 18 Point of Sale PWA - Odoo Slides
Celine George
 
HUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGY
HUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGYHUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGY
HUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGY
DHARMENDRA SAHU
 
IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...
IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...
IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...
SweetytamannaMohapat
 
প্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdf
প্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdfপ্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdf
প্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdf
Pragya - UEM Kolkata Quiz Club
 
"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx
Arshad Shaikh
 
Uterine Prolapse, causes type and classification,its managment
Uterine Prolapse, causes type and classification,its managmentUterine Prolapse, causes type and classification,its managment
Uterine Prolapse, causes type and classification,its managment
Ritu480198
 
How to Configure Add to Cart in Odoo 18 Website
How to Configure Add to Cart in Odoo 18 WebsiteHow to Configure Add to Cart in Odoo 18 Website
How to Configure Add to Cart in Odoo 18 Website
Celine George
 
Exploring Identity Through Colombian Companies
Exploring Identity Through Colombian CompaniesExploring Identity Through Colombian Companies
Exploring Identity Through Colombian Companies
OlgaLeonorTorresSnch
 
Cloud Computing ..PPT ( Faizan ALTAF )..
Cloud Computing ..PPT ( Faizan ALTAF )..Cloud Computing ..PPT ( Faizan ALTAF )..
Cloud Computing ..PPT ( Faizan ALTAF )..
faizanaltaf231
 
Search Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website SuccessSearch Engine Optimization (SEO) for Website Success
Search Engine Optimization (SEO) for Website Success
muneebrana3215
 
LDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College VolumeLDMMIA About me 2025 Edition 3 College Volume
LDMMIA About me 2025 Edition 3 College Volume
LDM & Mia eStudios
 
Dashboard Overview in Odoo 18 - Odoo Slides
Dashboard Overview in Odoo 18 - Odoo SlidesDashboard Overview in Odoo 18 - Odoo Slides
Dashboard Overview in Odoo 18 - Odoo Slides
Celine George
 
Types of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo SlidesTypes of Actions in Odoo 18 - Odoo Slides
Types of Actions in Odoo 18 - Odoo Slides
Celine George
 
POS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 SlidesPOS Reporting in Odoo 18 - Odoo 18 Slides
POS Reporting in Odoo 18 - Odoo 18 Slides
Celine George
 
LDMMIA Free Reiki Yoga S7 Weekly Workshops
LDMMIA Free Reiki Yoga S7 Weekly WorkshopsLDMMIA Free Reiki Yoga S7 Weekly Workshops
LDMMIA Free Reiki Yoga S7 Weekly Workshops
LDM & Mia eStudios
 
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdf
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdfForestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdf
Forestry Model Exit Exam_2025_Wollega University, Gimbi Campus.pdf
ChalaKelbessa
 
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar SirPHYSIOLOGY & SPORTS INJURY by Diwakar Sir
PHYSIOLOGY & SPORTS INJURY by Diwakar Sir
Diwakar Kashyap
 
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
"Orthoptera: Grasshoppers, Crickets, and Katydids pptx
Arshad Shaikh
 
Odoo 18 Point of Sale PWA - Odoo Slides
Odoo 18 Point of Sale PWA  - Odoo  SlidesOdoo 18 Point of Sale PWA  - Odoo  Slides
Odoo 18 Point of Sale PWA - Odoo Slides
Celine George
 
HUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGY
HUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGYHUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGY
HUMAN SKELETAL SYSTEM ANATAMY AND PHYSIOLOGY
DHARMENDRA SAHU
 
IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...
IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...
IDSP(INTEGRATED DISEASE SURVEILLANCE PROGRAMME...
SweetytamannaMohapat
 
প্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdf
প্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdfপ্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdf
প্রত্যুৎপন্নমতিত্ব - Prottutponnomotittwa 2025.pdf
Pragya - UEM Kolkata Quiz Club
 
"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx"Hymenoptera: A Diverse and Fascinating Order".pptx
"Hymenoptera: A Diverse and Fascinating Order".pptx
Arshad Shaikh
 
Uterine Prolapse, causes type and classification,its managment
Uterine Prolapse, causes type and classification,its managmentUterine Prolapse, causes type and classification,its managment
Uterine Prolapse, causes type and classification,its managment
Ritu480198
 
How to Configure Add to Cart in Odoo 18 Website
How to Configure Add to Cart in Odoo 18 WebsiteHow to Configure Add to Cart in Odoo 18 Website
How to Configure Add to Cart in Odoo 18 Website
Celine George
 
Exploring Identity Through Colombian Companies
Exploring Identity Through Colombian CompaniesExploring Identity Through Colombian Companies
Exploring Identity Through Colombian Companies
OlgaLeonorTorresSnch
 
Cloud Computing ..PPT ( Faizan ALTAF )..
Cloud Computing ..PPT ( Faizan ALTAF )..Cloud Computing ..PPT ( Faizan ALTAF )..
Cloud Computing ..PPT ( Faizan ALTAF )..
faizanaltaf231
 

Design engineering with d3+react with-speaker-notes

  • 2. I fell in love with data visualizations: - They’re cool looking - It’s technical - Information is conveyed quickly
  • 3. Inspiration A few examples of the first interactive web projects that made me want to learn more...
  • 4. The Pudding / Shirley Wu. “So I went through every single line in Hamilton (twice 😱 ) and recorded who sang each line, as well as who that line may have been directed towards. I've noted every phrase that was sung more than once across more than one song, and grouped them into broad themes*. You can find my lovingly (obsessively) curated data here. To explore the data, I created a visual tool to filter the lines by any combination of characters, conversations, and themes. The insights were amazing, and I'm excited to share with you both the visual tool and my analysis of Hamilton with it.”
  • 5. Storiesbehindaline.com -> interactive data viz on paths migrants took to Italy. No photos were used, only the stories told and the path. Data journalism, telling a story.
  • 6. https://www.washingtonpost.com/graphics/2018/national/segregation-us-cities/?utm_t erm=.d19521252b33 Segregation in US cities. At the bottom author states “The project analysis was done mostly in node.js with some work in PostGIS. While several technologies were used in this project, special thanks goes to Mapbox’s helpful suite of tools and d3.js.”... But with a little digging on twitter, I also found that the project used “react, redux, async/await and streams”
  • 8. Tools of the trade There is a lot of data viz technology out there.
  • 10. What you need to say create a radial tree in Tableau: code it up yourself http://www.datablick.com/blog/2015/10/12/radial-trees-in-tableau-by-chris-demartini
  • 11. Well d3 does it too https://beta.observablehq.com/@mbostock/d3-radial-tidy-tree
  • 12. Here we go. This is why I’m focusing on React + D3.
  • 13. “The hardest problem in javascript is finding whatever clicks for you and using it and happily ignoring the rest”
  • 14. Remember the following: - React owns the DOM (Document Object Model) - D3 calculates properties “Let’s get rid of the hard stuff and move forward.”
  • 16. “Let’s get rid of the hard stuff and move forward.”
  • 17. D3 by itself “Let’s get rid of the hard stuff and move forward.”
  • 18. How to go from this ^ To this!! ---> “Let’s get rid of the hard stuff and move forward.”
  • 19. // initial circles created with radius and fill color var node = d3.select("#circles") .append("g") .selectAll("circle") .data(data) .enter().append("circle") .attr("r",function(d) { if (d.season === 1) { return 6; } else if (d.season === 2) { return 9; } }) .attr("fill",function(d) { return d.color; }) “Let’s get rid of the hard stuff and move forward.”
  • 20. // use force Simulation and force Collide to randomly place the circles var simulation = d3.forceSimulation(data) .force("charge", d3.forceCollide().radius(5)) .force("r", d3.forceRadial(function(d) { if (d.season === 1) { return 50; } else if (d.season === 2) { return 100; } else if (d.season === 3) { return 150; } else if (d.season === 4) { return 200; } })) .on("tick", ticked); “Let’s get rid of the hard stuff and move forward.”
  • 21. “Let’s get rid of the hard stuff and move forward.”
  • 22. Now bring in React... “Let’s get rid of the hard stuff and move forward.”
  • 23. You can “black box” the D3/React interaction…super simple, functional, but not really a solution! At this point we went to Lorraine’s codepen to look at some example forked projects. “Let’s get rid of the hard stuff and move forward.” React-D3-Axis for blackbox model….
  • 24. You can “black box” the D3/React interaction…or really make each technology do what it’s best at doing! Remember, D3 should calculate. React should render. 3 steps - Set up the D3 objects - When a React component updates, update the D3 objects - Output SVG in render React color band example for the
  • 25. Now, go and make useful, attractive, and fast web applications. Thank you!!
  • 26. Resources for additional React + D3 tutorials and lessons: Book: Interactive Data Visualization for the Web by Scott Murrary Frontend Masters course on D3+React by Shirley Wu E-Book: React + D3V4 by Swizec Teller