Data Visualization and D3.js

Thank you for signing up for the course! We look forward to working with you and hearing your feedback in the forums.

Need help getting started?


Course Resources

The following texts are recommended readings for the course. These texts can enhance your learning, but they are not required to succeed in this course.

Additional Reading



Additional Documentation

Downloadable Materials

You can download Supplemental Materials, Lesson Videos and Transcripts from Downloadables (bottom right corner of the Classroom) or from the Dashboard (first option on the navigation bar on the left hand side).

All of the code files for the course can be downloaded here as a zip file. As a reminder, you will need to run local server to render the visualizations.

You can start a local server using Python by navigating to the directory in the command line and typing in python -m SimpleHTTPServer.

If you are using Python 3 the command to start the local server is python3 -m http.server.

Course Syllabus

Lesson 1a Visualization Fundamentals

Learn about the elements of great data visualization. In this lesson, you will meet data visualization experts, learn about data visualization in the context of data science, and learn how to represent data values in visual form.

Lesson 1b D3 Building Blocks

Learn how to use the open standards of the web to create graphical elements. You’ll learn how to select elements on the page, add SVG elements, and how to style SVG elements. Make use of all the Instructor Notes throughout this lesson if you have little to no experience with HTML and CSS.

Mini-Project 1: RAW Visualization

Create a data visualization using a software of your choice. We will provide recommendations for visualization software as well as data sets. We want you to get right into making data visualization so here’s your first chance!

Lesson 2a Design Principles

Which chart type should I use for my data? Which colors should I avoid when making graphics? How do I know if my graphic is effective? Investigate these questions, and learn about the World Cup data set which will be use throughout the rest of the course.

Lesson 2b Dimple.js

Learn how to create graphics using the Dimple JavaScript library. You will learn about this library as a gentle coding introduction before learning about D3.js. You will be able to produce great graphics with minimal code, and all of your graphics will come with interactivity without any extra effort on your part. Dimple, it's simple!

Mini-Project 2: Take Two

Find an existing data visualization, critique it for what it does well and what it doesn’t do well, and finally, recreate the graphic using a software tool of your choice. We recommend using Dimple.js, which is covered in Lesson 2b, but we don’t want you to feel constrained by the choice of tools. Use any tool that works for you.

Lesson 3 Narrative Structures

Learn how to incorporate different narrative structures into your visualizations and code along with Jonathan as you create a graphic for the World Cup data set. You’ll learn about different types of bias in the data visualization process and learn how to add context to your data visualizations. By the end of this lesson, you’ll have a solid foundation in D3.js.

Lesson 4 Animation and Interaction

Static graphics are great, but interactive graphics can be even better. Learn how to leverage animation and interaction to bring more data insights to your audience. Code along with Jonathan once again as you learn how to create a bubble map for the World Cup data set.

Final Project: Making an Effective Data Visualization

Follow this link to access the final project.


We would like to thank Jonathan Dinu and Ryan Orban of Zipfian Academy for all of their contributions to the course. They spent many long hours creating, recording, and reviewing course materials. This course would not have been possible without them.

We are also gracious for the many experts who contributed their time and thoughts in interviews: Scott Murray, Cole Nussbaumer, and Matt Sundquist. Each one provided an invaluable lens into the field of data visualization.

We would like to also thank our dedicated review team: Jeremy Silver, Charlie Turner, and Susan Smith. They truly put students first by improving the smallest of details throughout the course.

Finally, we would like to thank you, the learner, for choosing to take the course. Learning can be tough, and we hope to make the process less difficult and more fun. Whether you watch a few videos, leave messages in the discussions, or provide feedback for the course, you are the reason why we make these experiences. We want you to reach your goals, and we want you to continue to challenge yourself.