D3.js is a JavaScript library that allows data to be represented graphically. D3 allows you to create scalable graphs for any modern browser. You start with a structure, dataset, or algorithm and programmatically generate static, interactive, or animated images that responsively scale to any screen.
D3.js in Action, Second Edition is completely revised and updated for D3 v4 and ES6. It's a practical tutorial for creating interactive graphics and data-driven applications using D3. It includes instructions on how to use D3 modules with npm, as well as how to integrate D3 with modern MVC frameworks like React.js. You'll start with in-depth explanations of D3's out-of-the-box layouts, along with dozens of real-world use cases that align with different types of visualizations. Then, you'll explore techniques for content creation, animation, and representing dynamic data—including interactive graphics and data streamed live over the web. The final chapters show you how to use more complex D3 functionality to improve performance and build a complete web application. By the end, you'll be ready to integrate D3.js into your web development process and add data visualization to transform any site or internal application.
I'm currently a senior data visualization engineer at Netflix, where I have the chance to create visual representations of big data. I started doing data visualization and analysis in graduate school where I used GIS to study the effects of environmental change on historical states. Before coming to Netflix, I worked at Stanford creating interactive scholarly works in the field of digital humanities, which broadly speaking is the application of new analytical and interactive techniques to the study of history, literature and philosophy.
The book provides quite a few nice examples and is surely worth a closer look. However, compared to "Interactive Data Visualization for the Web" by Scott Murray and "D3 Cookbook" by Nick Zhu the writing style and the code are a bit disappointing.
The book contains a series of recipies for different visualization strategies. This is probably OK if you already have experience with D3 and you are looking step by step guidelines. In that regard this book lives up to its promises and "in Action" attribute in its title.
However, the code is already outdated. In version 5, data loading is different (citing official release notes "D3 now uses Promises instead of asynchronous callbacks to load data") so you might experience issues when trying out supplied code examples with recent library versions. That said, this is not a good book for a first encounter with D3. If you want to understand the philosophy behind the library design you should probably look elsewhere.
This book's more of a series of D3.js tutorials than an exact description of the D3.js library. Each chapter covers an aspect of D3.js or of data visualisation and introduces you to some popular and interesting visualisation techniques along the way.
Although only a few assumptions are made about the technical background of the reader, I felt that this book's best suited for JavaScript developers without a background in visualisation. The writing's pretty verbose and the author does a fair bit of hand-holding but it's nevertheless bearable.
I'd say this one's ideal as a broad first introduction to data visualisation than just as a primer on D3.js.
Back then this is was a great book introducing the web visualization world, I’m currently reading (working through) the third version which is adapted well to the current state of framework embedded data viz
It is a very, very useful book! I found the a lot of practical ideas how to deal with D3. Providing links to the actual working code was handy. A highly recommended reading!