visual storytelling with d3

An Introduction to Data Visualization in JavaScript

If you're looking for the book's supplementary materials, click here!

Buy on InformIT

Buy on Amazon

the book

Data, data, data. Piles and gobs of it are amassing everywhere faster than ever before. And with this grand swelling of information has come a sudden rise in the need for a discipline over two centuries old: Data visualization, the craft of communicating patterns and trends in raw data by transforming it into visual displays.

Traditionally, such displays have been rendered in ink, drawn onto the pages of books, newspapers, and academic journals, and frozen at the time of their printing. But more and more, data is being transformed into pixels and published online in interactive displays the viewer can change with the click of her mouse. Any modern practitioner of data visualization needs a tool to assist with that transformation — from information to a web page and from raw, immutable numbers to animated graphics.

Enter the JavaScript library, D3. Short for Data-Driven Documents, D3 not only helps you turn information into pixels, it enables you to create and manipulate web pages and graphics entirely based on data.

D3 is immensely powerful, but learning it can be a challenge. There is a vast and thriving D3 ecosystem out there — including countless, freely-available tutorials and examples — but getting started can require a bit of work, especially if you don’t have a lot of experience with JavaScript.

This introductory textbook, written by Ritchie King, a visual journalist at FiveThirtyEight, covers the library's fundamentals by guiding the reader through the process of building an interactive bar chart entirely in D3. The goal is to get readers to a place where they can readily interpret and learn from the code examples of others — a place from which they can comfortably enter the D3 ecosystem.

the repo

All of the code and supplementary materials from this book can be found in this github repository, in addition to any book errata. There are also links to great D3 tutorials, examples, and resources.