Create Compelling Data Visualizations and Business Dashboards with D3


This session will introduce attendees to the basic ideas behind the popular data visualization library D3, and walk them through a few exercises to create data visualizations and a simple interactive dashboard. While it is an introduction to D3, it does assume basic familiarity with JavaScript and programming, basic knowledge of HTML, as well as experience with working on the command line.

We will cover the following topics
- Overview of D3’s architecture and basic concepts (i.e., the visual join)
- Introduction to a few advanced JavaScript concepts that it relies on (anonymous/arrow functions, accessor functions, etc.)
- How to access data (loading files, querying APIs) and how data is commonly represented for use in D3
- Creating simple charts from data (bar charts, scatterplots), as well as a few more unusual ones (likely including lollipop charts, etc.)
- Re-using existing D3 examples by replacing the data with your own
- Basic interaction in D3: tooltips, filtering
- Putting charts together into a dashboard (layout, using functions to generate charts)

The goal of this session is to give attendees a good understanding of how D3 works on a fundamental level. They will be able to build on that foundation to learn more and create their own visualizations and dashboards.

Session Outline:

The goal of this session is to get attendees started with D3. A two-hour bootcamp can only cover the basics, but it will set people up to dive into the large amounts of examples and documentation that are available to learn more.

At the end of this lesson, attendees will know…
- the basic principles behind how D3 works and how to create visualizations with it
- how to add simple interactivity to charts
- how to combine multiple charts into a dashboard
- how to adapt existing examples for your own use (no need to reinvent the wheel!)
- where to find more information in the documentation and examples

In addition to D3, we will use some open source tools developed by Observable and others. We’ll provide instructions for attendees to set up their environments to follow along, which will require installing node.js and access to an editor (ideally Visual Studio Code), and a shell terminal.

Background Knowledge:

basic familiarity with JavaScript and programming, basic knowledge of HTML, experience with working on the command line


Robert Kosara is Data Visualization Developer at Observable, where he helps people build better data visualizations, dashboards, and data apps. Robert's background is in research, having been a professor at UNC Charlotte and researcher at Tableau before joining Observable. He has published on a variety of topics including the perceptual and cognitive basics of visualization. recently, his interest has been in how we use charts and dashboards to communicate with and through data.

Open Data Science




Open Data Science
One Broadway
Cambridge, MA 02142

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Consent to display content from - Youtube
Consent to display content from - Vimeo
Google Maps
Consent to display content from - Google