TOMORROW: Livestream Bootcamp Info Session @6pm PT. Register Now

Data Visualization
with D3.js

Course designed by Kevin Quealy, Graphics Editor, The New York Times.

Data Visualization with D3.js Overview

This course is about data visualization and D3, the powerful JavaScript library frequently used to create data visualizations on the web.

D3 can be challenging to use, and much of the difficulty comes with learning syntax and understanding data joins (the most fundamental aspect of D3). On top of that, there are the headaches associated with the minutiae of charts: scales, axes, labels, annotations and the like.

But that extra effort becomes worth it when you realize that with D3, you're in charge of every pixel. That power and control enables you to tell stories and communicate information interactively in ways that simply are not possible outside of a web browser.

This course is offered both in-person at Metis campuses and Live Online from anywhere. Sign up for a free Live Online sample class.

Who is this course for?

Anyone who wants to be proficient in the use of D3 and seeks expertise visualizing quantitative information. This course will not train you to become a data scientist. (For that, we offer a licensed, accredited bootcamp).

Even if you're already an expert in JavaScript and D3, this course will help you select the right form, hone in on the best way to communicate your idea, and build it.

Considering the data science immersive bootcamp?

Part-Time Alumni can apply the amount of tuition paid for one part-time professional development course towards enrollment in an upcoming bootcamp upon admittance.


This course is open to data visualization beginners, but you should have experience writing HTML, CSS, and basic JavaScript. For HTML/CSS, you should know how to work with the DOM and be familiar with CSS selectors.

For JavaScript, you should be familiar with variables, data types, arrays, loops, and conditional statements and you should have worked with functions and objects.

For Git and GitHub, you should be familiar with forking, cloning, pull requests, and branches.

Finally, you should have a general idea of working with and manipulating structured data. If you don't yet have this fluency, we strongly recommend completing the following free tutorials in advance of the course start:


Upon completion of the Data Visualization with D3.js course, students have:

A working conceptual understanding of the field of data visualization, particularly as it relates to the internet and mobile devices.
Deep knowledge of the forms and techniques of data visualization and effective display of quantitative information, with a specific focus on bar charts, scatterplots, area charts, line charts, choropleth and bubble maps, small multiples, annotation principles – and the strengths and weaknesses of each.
Proficiency in using D3 to make static and interactive charts and documents and in using JavaScript to process and manipulate data.
Kevin quealy
Kevin Quealy

Kevin Quealy is a graphics editor at The New York Times and a contributor to The Upshot, the Times' data-centric vertical about policy, politics and everyday life. He has taught journalism and data visualization courses at N.Y.U., the University of California-Berkeley and the City University of New York. Before coming to The New York Times, Kevin served as a Peace Corps volunteer in South Africa. He has a Master's degree from the Missouri School of Journalism and a B.A. in physics from Gustavus Adolphus College in St. Peter, Minnesota. Before coming to The New York Times, Kevin served as a Peace Corps volunteer in South Africa. He has a Master's degree from the Missouri School of Journalism and a B.A. in physics from Gustavus Adolphus College in St. Peter, Minnesota.

Read our reviews

Course Structure and Syllabus

Week 1

Getting Started & Learning about New Problems

We'll configure our computers, make our first charts, understand why data joins are helpful, and get a sense of all the things we need to learn.

  • Introduction, configuring machines, intro to data visualization
  • Making our first chart – a scatter plot
  • Charting and intent
  • Bar charts
  • The fiddly bits: axes, formatting, etc.

Week 2

Enough to be Dangerous: Mastering Basic Forms

If you want to be good at data viz, you need to master bar charts, line charts, scatter plots, and histograms. We'll make demos of each and learn when to use which.

  • Line + area charts
  • Histograms
  • Tables to line + area charts

Week 3

Data Sketching & Traversing Data Structures

Since your computer is drawing the charts instead of you, making 100 charts is as manageable as making 1. We'll explore the power of exploratory sketching and the data manipulation you'll need to know in order to use it.

  • Making things move
  • Sketching in the browser and making applications that scale

Week 4


Mapping with D3 has exploded in the last few years. We'll learn how to make bubble maps, choropleth maps, and will create topojson files from scratch.

Week 5

Making Dynamic Content

We'll use D3 to make dynamic charts and applications that let us answer questions and solve problems that wouldn’t be possible in a printed format.

  • Data visualization on mobile devices
  • D3 and Node

Week 6

Editing & Publishing an Idea

In our last week, we’ll focus on honing ideas and making publication-grade data visualizations. We'll work on small touches, like custom annotations and styles, managing your data visualizations on mobile devices, incorporating feedback, and pitching work for publication. We'll also do a "show and tell" of projects we've been working on throughout the 6 weeks.

  • Pushing the envelope
  • Project show-and-tell