A good book for learning D3.js

laycat picture laycat · Jun 5, 2013 · Viewed 50.1k times · Source

I saw D3.js and I was interested so I bought this book! I may be wrong, however I found it un-fulfilling.

Does anyone have prime material for mastering D3.jsfor data visualization?

I can see a lot of potential for D3.jsand I am very keen and interested.

thanks in advance!

Update:

I just completed reading Interactive Data Visualization for the Web by Scott Murray, great book! Try it, it's free.

Answer

mg1075 picture mg1075 · Jun 5, 2013

As @Autio already mentioned, there are the tutorials from Scott Murray on his website.

You will also note that on his site, he has a link to his recent d3 book, Interactive Data Visualization for the Web.

However, that book is now available online for free, along with embedded jsbin examples. http://chimera.labs.oreilly.com/books/1230000000345/index.html

So if you are looking for a "book", this would be a great start.

Another great place to start is the set of tutorials - you could almost think of them as a mini-book - found here:
http://www.dashingd3js.com/table-of-contents

Part of what is good about these two resources is that they should encourage you to immediately begin playing around with d3 in your browser; so you are actually using d3 and exploring how it works in simple cases, instead of only reading about how it works.

The d3 wiki on github has a good deal of tutorials, and is indispensable for getting a feel for not just d3 but what's going on in the d3 community, yet I would probably recommend starting with the two links mentioned above, since they will provide a good base (with a sustained focus, as opposed to a one or two page post) for then jumping off into the other tutorials available.
https://github.com/mbostock/d3/wiki/Tutorials

Also, consider what you want to end up doing with d3. By itself, d3 is really powerful yet fairly low-level, meaning: if you just need to make a bar chart instead of a NY Times election map of 512 paths to the White House, then it may be worth looking at a tool like vega that removes some of the low-level complexity that could otherwise be involved in creating an item such as a standard bar chart. And these tools are not few in number, as can be seen in this gist listing libraries that make use of d3.

More recently, Nick Zhu, the author of dc.js charting library that combines d3.js and crossfilter, came out with a new Data Visualization with D3 Cookbook that looks promising and appears to assume a bit more of the reader than does Scott Murray's book.

There's also a d3.js intro for people who are still new to HTML and CSS:
Part1: http://nrecursions.blogspot.in/2014/11/getting-your-head-around-d3js.html
Part2: http://nrecursions.blogspot.in/2014/12/getting-your-head-around-d3js-part2.html