Mastering data visualization in D3.js

Mastering data visualization in D3.js

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 7 Hours | 1.51 GB

Design and build beautiful data visualizations with d3.js. An intensive introduction to the D3 library.

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

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

What Will I 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
Table of Contents

Introduction
1 Introduction to the course
2 What is a data visualization?
3 Activity Your favorite visualization
4 The power of D3
5 How this course is structured
6 Section Summary
7 Section Summary

Getting started with D3
8 Introduction – Getting started with D3
9 Setting up your environment
10 Understanding SVGs
11 Adding SVGs with D3
12 Selections and data joins
13 Activity Adding SVGs to the screen
14 Loading external data
15 Section Summary
16 Activity Your first visualization

Scales and Axes
17 Introduction – Scales and Axes
18 Linear Scales
19 Logarithmic Scales
20 Time Scales
21 Ordinal Scales
22 Band Scales
23 D3 min, max, and extent
24 Margins and groups
25 Axes and labels
26 Making a bar chart
27 Project 1- StarBreak Coffee
28 Section Summary
29 Activity Project 1

The basics of design
30 Introduction – The basics of design
31 Designing for clarity
32 Subjectivity in design
33 The design toolkit
34 An introduction to sketching
35 The Bootstrap grid system
36 Section Summary
37 Activity Critiquing visualizations
38 Activity Making sketches

Make it dynamic
39 Introduction – Make it dynamic
40 Looping with intervals
41 Adding an update function
42 The D3 update pattern
43 Making our chart dynamic
44 D3 Transitions
45 Scatter plots in D3
46 Project 2- Gapminder Clone
47 Section Summary
48 Activity Project 2

Make it interactive
49 Introduction – Make it interactive
50 Adding a legend
51 Formatting and parsing in D3
52 Introducing Tooltips
53 Event listeners and handlers in D3
54 Adding a jQuery UI slider
55 Line graphs in D3
56 Project 3- CoinStats
57 Section Summary
58 Activity Project 3

Frequently used visualizations
59 Introduction – Frequently used visualizations
60 Using the D3 community
61 Migrating code to version 5.x
62 D3 Layouts
63 Area Charts
64 Stacked Area Charts
65 Data structures and D3 nests
66 Pie and donut charts
67 Wordclouds
68 Section Summary

Maps and Networks
69 Introduction – Maps and Networks
70 Visualization around the globe
71 Loading multiple datasets with D3
72 Choropleth Maps
73 Forces in D3
74 Node-Link Diagrams
75 Section Summary

Hierarchical Data
76 Introduction – Hierarchical Data
77 Building hierarchies in D3
78 Tree Diagrams
79 Treemaps
80 Circle Packing
81 Sunburst Plots
82 Section Summary
83 Activity Find your own visualization

File structure and linked views
84 Introduction – File structure and linked views
85 File Separation
86 Visualizations as Objects
87 Converting our code to OOP
88 Handling events across objects
89 D3 Brushes
90 Project 4- A corporate data dashboard
91 Section Summary(1)
92 Activity Project 4

Wrapping up the course
93 Introduction – Wrapping up the course
94 What you learned
95 Concluding Thoughts