Mastering data visualization in D3.js
4.4 (2,562 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
13,740 students enrolled

Mastering data visualization in D3.js

Design and build beautiful data visualizations with d3.js. An intensive introduction to the D3 library (V6).
Bestseller
4.4 (2,562 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
13,740 students enrolled
Created by Adam Janes
Last updated 6/2018
English
English [Auto], French [Auto], 8 more
  • German [Auto]
  • Indonesian [Auto]
  • Italian [Auto]
  • Polish [Auto]
  • Portuguese [Auto]
  • Romanian [Auto]
  • Spanish [Auto]
  • Thai [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7 hours on-demand video
  • 11 articles
  • 6 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll 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
Course content
Expand all 95 lectures 07:03:25
+ Getting started with D3
9 lectures 37:26
Introduction - Getting started with D3
00:57
Setting up your environment
04:13
Understanding SVGs
08:07
Adding SVGs with D3
08:09
Activity: Adding SVGs to the screen
00:39
Selections and data joins
05:21
Loading external data
08:20
Activity: Your first visualization!
00:50
Section Summary
00:50
+ Scales and Axes
13 lectures 50:42
Introduction - Scales and Axes
01:12
Linear Scales
05:35
Logarithmic Scales
03:29
Time Scales
01:40
Ordinal Scales
02:56
Band Scales
06:25
D3 min, max, and extent
04:55

Test your knowledge at working with scales in D3.

Scales in D3
4 questions
Margins and groups
06:08
Axes and labels
07:54
Making a bar chart
05:16
Project 1: StarBreak Coffee
02:44
Activity: Project 1
01:31
Section Summary
00:57
+ The basics of design
9 lectures 26:53
Introduction - The basics of design
01:09
Designing for clarity
03:47
Subjectivity in design
03:41
Activity: Critiquing visualizations
00:20
The design toolkit
06:10
An introduction to sketching
06:11
Activity: Making sketches
00:23
The Bootstrap grid system
04:24
Section Summary
00:48
+ Make it dynamic
10 lectures 35:07
Introduction - Make it dynamic
01:35
Looping with intervals
02:16
Adding an update function
04:58
The D3 update pattern
06:32

Test your knowledge of what you've learned so far about the D3 update pattern.

Updates in D3
5 questions
Making our chart dynamic
03:23
D3 Transitions
06:54
Scatter plots in D3
02:16
Project 2: Gapminder Clone
03:38
Activity: Project 2
02:22
Section Summary
01:13
+ Make it interactive
10 lectures 56:07
Introduction - Make it interactive
01:09
Adding a legend
03:47
Formatting and parsing in D3
07:57
Introducing Tooltips
09:38
Event listeners and handlers in D3
11:16
Adding a jQuery UI slider
05:44
Line graphs in D3
09:51
Project 3: CoinStats
03:27
Activity: Project 3
02:00
Section Summary
01:18
+ Frequently used visualizations
10 lectures 01:08:45
Introduction - Frequently used visualizations
01:29
Using the D3 community
04:23
Migrating code to version 5.x
05:08
D3 Layouts
05:19
Area Charts
08:08
Stacked Area Charts
13:32
Data structures and D3 nests
07:00
Pie and donut charts
17:01
Wordclouds
05:51

Test your knowledge of how layouts work in D3 to help us build visualizations.

Layouts in D3
3 questions
Section Summary
00:54
+ Maps and Networks
7 lectures 41:33
Introduction - Maps and Networks
01:12
Visualization around the globe
07:57
Loading multiple datasets with D3
05:04
Choropleth Maps
09:03
Forces in D3
08:24
Node-Link Diagrams
08:45

Test out what you learned in this lecture about visualizing maps and networks.

Maps and Networks
3 questions
Section Summary
01:08
+ Hierarchical Data
8 lectures 37:03
Introduction - Hierarchical Data
01:34
Building hierarchies in D3
05:03
Tree Diagrams
05:28
Treemaps
07:54
Circle Packing
05:58
Sunburst Plots
08:43
Activity: Find your own visualization
01:02
Section Summary
01:21
+ File structure and linked views
9 lectures 49:00
Introduction - File structure and linked views
01:16
File Separation
04:13
Visualizations as Objects
08:16
Converting our code to OOP
08:45
Handling events across objects
08:07
D3 Brushes
10:08
Project 4: A corporate data dashboard
05:26
Activity: Project 4
01:41
Section Summary
01:08
Requirements
  • Students should have a good understanding of HTML, CSS, and JavaScript
  • Students should know how to interact with the Document Object Model (DOM) using jQuery
Description

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 6.x.

Course Outline

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

  • Wordclouds

  • Choropleth Maps

  • Node-Link Diagrams

  • Tree Diagrams

  • Treemaps

  • 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.

Class Projects

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:

  1. A simple bar chart to display the revenue growth of a small coffee chain.

  2. An updating bubble chart, cloning a famous visualization from Gapminder.

  3. An interactive line chart, showing historical cryptocurrency prices over time.

  4. 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.


This course is not an introductory course to web development. Students are expected to have had experience coding in JavaScript, HTML, CSS, and jQuery before enrolling in this course.

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