D3.js in Action is a practical tutorial for creating interactive graphics and data-driven applications using D3.js. You'll start with in-depth explanations of D3's out-of-the-box layouts, along with dozens of practical use cases that align with different types of visualizations. Then, you'll explore practical 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 D3's rich interaction model as the foundation for a complete web application. In the end, you'll be ready to integrate D3.js into your web development process and transform any site into a more engaging and sophisticated user experience.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
D3.js is a JavaScript library that allows data to be represented graphically on a web page. Because it uses the broadly supported SVG standard, 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.
About the Book
D3.js in Action introduces you to the most powerful web data visualization library available and shows you how to use it to build interactive graphics and data-driven applications. You'll start with dozens of practical use cases that align with different types of charts, networks, and maps using D3's out-of-the-box layouts. Then, you'll explore practical techniques for content design, animation, and representation of dynamic data--including interactive graphics and live streaming data.
What's Inside
Interacting with vector graphics Expressive data visualization Creating rich mapping applications Prepping your data Complete data-driven web apps in D3 Readers need basic HTML, CSS, and JavaScript skills. No experience with D3 or SVG is required.
About the Author
Elijah Meeks is a senior data visualization engineer at Netflix. His D3.js portfolio includes work at Stanford University and with well-known companies worldwide.
Table of Contents
PART 1 D3.JS FUNDAMENTALSAn introduction to D3.js Information visualization data flow Data-driven design and interactionPART 2 THE PILLARS OF INFORMATION VISUALIZATIONChart components Layouts Network visualization Geospatial information visualization Traditional DOM manipulation with D3PART 3 ADVANCED TECHNIQUESComposing interactive applications Writing layouts and components Big data visualization D3.js on mobile (available online only)
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!