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.

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.


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.

There are currently no events scheduled for this course.

Join our meetup (CHI | NYC | SEA | SF) to be alerted of future events.

Shirley wu
Shirley Wu

Shirley Wu is currently a freelance consultant specializing in data visualization. Previously, she was a software engineer at security company Illumio working on an interesting part of the product called Illumination: a visualization of application traffic and visual tools for writing security policy on top of them. She has used D3.js extensively in her work, including side projects film flowers, tweetyviz, and 80k. She is a co-organizer of the Bay Area D3.js User Group as well as the annual d3.unconf, and has spoken at OpenVis Conf, BackboneConf, and various meetups. Shirley has a B.S. in Business Administration and a minor in Computer Science from the University of California, Berkeley.

Paul buffa
Paul Buffa

Paul Buffa is a data visualization engineer at Capital One Labs, with years of experience teaching and building data visualizations in areas such as education, FinTech, marketing, politics and fitness. He has taught D3 at the Metis Data Science Bootcamp, and worked as a TA for the Data Visualization course. In addition to his work, Paul is a passionate runner who trains for marathons and ultramarathons, escaping time-to-time to train in the Colorado Rockies. You can view some of his visualizations on his public bl.ocks site , featuring datasets on running , heart rates, marketing, and other various fun topics.

Mollie pettit
Mollie Pettit

In addition to teaching the Data Visualization evening course with Metis, Mollie is a full-time Data Scientist at Datascope Analytics. At Datascope she has worked on projects involving a wide variety of problems including (but not limited to) interactive data visualizations, exploratory data analysis, optimization, corporate data exploration tool creation, course development, and running ideation workshops. Despite working on a variety of data problems, she has a particular affinity to those involving data visualization. Before transitioning into data science, Mollie worked as a petrophysicist in Abu Dhabi and as a scientific researcher at Stanford University (where she co-authored scientific papers on water driven slope instability and coastal erosion). Mollie has BS degrees in mathematics and geology from WVU and a MS in geology from Stanford University. When Mollie is not being a technical nerd, she swing dances as much as possible, listens to educational podcasts, and strives to be all-around fabulous.

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.

Want to see this course in your city?
Let us know!

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