Mastering data visualization in D3.js
What you will learn
Understand the fundamental building blocks of D3
Gain a wide breadth of knowledge, learning how to create 14 different visualizations
Critique existing visualizations and invent better designs for displaying data
Interpret open source code from the D3 community for use in your own projects
Master advanced tools in D3, building choropleth maps, brushes, tooltips, and layouts
Develop substantial web apps, with multiple visualizations on the page at once
Articulate original abstract ideas with compelling sketches
Section 1: Introduction
Section 2: Getting started with D3
Section 3: Scales and Axes
Section 4: The basics of design
Section 5: Make it dynamic
Section 6: Make it interactive
Section 7: Frequently used visualizations
Section 8: Maps and Networks
Section 9: Hierarchical Data
Section 10: File structure and linked views
Section 11: Wrapping up the course
Design and build beautiful data visualizations with d3.js. An intensive introduction to the D3 library.
- Students should know how to interact with the Document Object Model (DOM) using jQuery
Welcome to Mastering data visualization in D3.js!
This course will take you from a beginner level in D3 to the point where you can build virtually any visualization that you can imagine. The course will teach you to program in the latest version of D3 -version 5.x.
In the first phase of the course, I will be building up your knowledge of D3 and introducing you to some of the most foundational topics in data visualization. You will:
- Understand what SVGs are and how to they work with D3.
- Discover how D3 associates shapes with pieces of data.
- Write scales, axes, and labels to make some basic visualizations.
- Use the D3 update pattern to shift the position of SVGs as our data changes.
- Handle user interactions by adding events to the page.
- Add legends, tooltips, and sliders to your visualizations.
The course will also focus on data visualization design, helping you to make better decisions about how to structure your code, and teaching you to justify the decisions that you make to others. You will learn how to select the right visual channels for the data that you're working with to create completely unique visualizations.
In the second phase of the course, I will be taking you on a crash course through 12 new visualizations. You will gain a wide breadth of knowledge in D3, as I will be walking you through pre-written code from members of the D3 community. I'll introduce you to D3 layouts, and I will be showing you how to build each of these visualizations in D3:
- Line Charts
- Area Charts
- Stacked Area Charts
- Pie Charts
- Donut Charts
- Choropleth Maps
- Node-Link Diagrams
- Tree Diagrams
- Circle Packs
- Sunburst Plots
This part of the course will also teach you the skill of finding new visualizations by yourself, adapting open source code to fit with your own data.
In the final phase of the course, I will be showing you the proper file structure to use for managing multiple visualizations on the page at once. You will be able to create visualizations that can communicate with one another, allowing you to link user interactions between multiple different graphs. You'll also learn how to use brushes in D3 to select areas on the chart with the drag of a mouse.
The course will include 4 class projects for you to complete, which will give you the opportunity to practice your D3 skills with real data:
- A simple bar chart to display the revenue growth of a small coffee chain.
- An updating bubble chart, cloning a famous visualization from Gapminder.
- An interactive line chart, showing historical cryptocurrency prices over time.
- A data dashboard for a large conglomerate company.
Each of the projects will gradually become more complex as the course progresses.
Should I Take This Course?
D3 is an incredibly powerful library to use, with a strong community of developers which is growing every day. Students should take this class if they want to get a rigorous introduction to D3, which covers a wide range of different topics.
Who this course is for:
- Anyone who has a passion for working with data
- Anyone who is curious about data visualization design
- Anyone who wants to build complex interactive websites with D3js