
Explore data visualization in JavaScript with React and D3 to build interactive graphics featuring customization, styling, and real time data updates, including bar charts, animated scatter plots, and Gapminder dataset.
Learn how to combine React and D3 to create interactive data visualizations, using the information seeking mantra, DOM-based SVG binding, and a hybrid approach for structure, math, and transitions.
Access the resources folder to download CSS and files for each module, then use the GitHub repository and its branches to track progress and compare code, jump start React projects.
Explore how D3 binds data to the document object model to create custom visualizations with scales and SVG elements, and build basic charts in a hands-on observable workflow.
Learn data binding in D3 by binding data to circle elements, using enter to create 50 circles, setting x, y, radius, and blue fill for a simple chart.
Apply a linear scale in D3 to map data to pixel space by defining domain and range, then render a horizontal bar chart with the enter method and rectangles.
Build a bar chart of sunshine in U.S. cities using a declarative React and D3 approach, leveraging JSX and D3 scales to render SVG layers with month-by-month interactivity.
Set up a React project environment with Create React App, Node.js, and npm to build a bar chart with React and D3.js, featuring a month filter and axis labels.
Learn to set up a React D3 workflow by creating a Create React App project, installing D3 and React Select, and building a responsive bar chart with a functional component.
load sunshine.json data into the app, map and filter for July sunshine, sort to find the sunniest cities, and pass the top 20 to the bar chart for rendering.
Set up x and y scales with d3 to map data values to pixel ranges, using a linear scale for x and a scaleBand for y in a bar chart.
Map data to jsx to render a bar chart of sunshine by city, using React for bars and D3 scales, add labels, grid lines, and a unique key per city.
Add interactivity to the sunshine by city chart with the React select library and useState to select month. Bind month.value to data and update the bar chart with scale functions.
Evaluate the declarative approach to a bar chart with React and D3, highlighting how scales map data to pixels, readability, hook integration, and the pros and cons.
Explore a hybrid React and D3 approach to data visualization by building an animated scatter plot that uses random data and transitions for size, x and y position, and color.
Build an interactive React and D3 chart with a hybrid approach. Use a get data utility for randomized data and a refresh data button on a responsive svg.
Learn how a useEffect hook in a React and D3.js setup styles and positions svg circles after render to create a dynamic scatterplot, with scales and data binding.
Apply data-driven styling, including a radius scale and color by data, with d3 transitions to a React scatter plot that updates via a button.
Adopt a hybrid React and D3 approach to build interactive data visualizations, with React handling state and structure and D3 delivering transitions and styling.
Build a Gapminder chart with React and D3, encoding GDP per capita, life expectancy, and continent using size, color, and axes, with a year slider and filterable legend.
Clone the Gapminder initial branch from the course GitHub to load the starter React and D3.js app, then explore the app, circles, and draw chart code with preloaded data.
Learn to build a Gapminder chart by creating four D3 scales (color, x, y, radius) and rendering data with React useEffect. Map continents to colors and use extent for domains.
Render and style a D3 chart in React by updating circles using x, y, and radius scales, color by continent, and size by population, showcasing four encoding channels.
Build x and y axes for Gapminder chart using D3 axis left and axis bottom, adjust ticks and margins, and add labels for GDP per capita, life expectancy, and year.
Show two mean-based lines across the chart by computing year-specific averages with d3 mean, plotting life expectancy and GDP per capita as crosshair overlays for 1957.
Add a year slider to the Gapminder chart using React and D3. It filters data by year, animates transitions, and uses five-year steps from 1957 to 2007.
Build an interactive legend for a React and D3.js scatter plot to filter continents, color points by a dynamic color scale, and highlight selections for clear data exploration.
Deploy your React projects to static hosting by building a build folder with a minified JavaScript bundle, then publish using GitHub Pages and React JS Pages.
Learn how React and D3 can be combined to create responsive visualizations, with options for React-driven visuals or D3 custom animation and transitions, and experiment on various projects.
Part science, part art, data visualization is one of the most -in-demand skills in the data science and software industries. Taught by a full-time data visualization developer, this dataviz course gets you up and running quickly with a flexible and highly customizable method for building interactive visualizations and storytelling with data.
After this tutorial, you'll be able to produce beautiful data visualizations using your own graphic style that are performant and highly responsive to user input. The stack taught here includes the latest versions of React (v17) and D3.js (v7), two of the most popular modern JavaScript libraries mentioned in job postings. The course focuses on learning JavaScript through practical experience and examples, drawing on the author's experience to show you the tradeoffs of various methods of combining these powerful tools.
If you're looking to gain highly in-demand skills for business intelligence, building dashboards, or other visualization tools, this course will get you up and running quickly and give you a competitive edge in the job market.
Some prior knowledge of using React and D3 separately is recommended for this course. However, we will cover the necessary topics in brief review modules and provide plenty of data visualization examples, so a little independent study and a grasp of basic JavaScript should be enough to get you started.
Course Outline:
Introduction
Why learn React and D3
Part 1: D3 basics review
Binding data to the Document-Object Model (DOM) using D3
Adding data and styling it in D3
Part 2: A declarative approach to integrating React and D3
Translating D3 syntax into JSX
Pros and cons of this approach
Part 3: A hybrid approach to React and D3
Learn how to balance D3's built-in transition capabilities and DOM updates and React's render cycle
Build a fully functioning scatterplot that updates with new data
Part 4: Practical project - Gapminder scatterplot
Build a fully interactive data visualization of the popular gapminder dataset
Add user-defined filters and other controls
Bring all your knowledge together to create a fully immersive chart similar to what you would create for a business use case or publication