Review: 4 supercool JavaScript tools for data visualization

Free, open source D3, InfoViz, Processing.js, and Recline.js bring dynamic, interactive -- and jaw-dropping -- data-driven graphics to the Web browser

Page 4 of 11

D3's documentation is voluminous, though it's scattered throughout links on the Web page. The API documentation is excellent, with code sample interwoven among the explanations. While the links in the API docs are to specific functions, everything is organized by activity with each of D3's modules. The Web page also leads to piles of tutorials and presentations on other websites.

You'll have the most fun by exploring the Examples Gallery, which drops you into a treasure trove of sample D3 visualizations. Many of the gallery's examples are accompanied by commentary, as well as annotated source code. You could spend days exploring all the chart types and visualization techniques presented.

D3 has a relatively steep learning curve. Its mechanism for handling a visualization's changing data set -- existing data elements being modified, new data elements being added, and old data elements being removed -- requires careful study (and a good understanding of JavaScript) to fully comprehend. Luckily, the available tutorials are top quality, and just trying a few of the visualizations made possible by D3 proves that time spent wrestling with the library will be well rewarded.

D3 harnesses what's available in HTML5 and the DOM, and it couples that with a keen understanding of JavaScript's capabilities. It enables the eloquent manipulation of standard document objects to generate data visualizations. Oddly, D3 has almost no specifically graphical side -- it doesn't even know how to draw circles (it employs the circle-drawing capabilities already in HTML5). D3's real power is in its ability to transform a document (as in the DOM) based on data -- Data-Driven Documents.

A custom, interactive, multidimensional visualization of Titanic survivors created with D3. Clicking on a dimension highlights the "ribbon" for that dimension.
| 1 2 3 4 5 6 7 8 9 10 11 Page 4