I would like to learn a bit more on interactive data visualization (zooming, pointing, brushing, point-mapping and so on). I would welcome any:

  1. Tutorial/guide/book(?)/video on how to use such methods for statistical exploration.
  2. Pointers for good/interesting interactive data-viz packages (in R, and outside of it)

Just to start the ball rolling, I know that in R there are various ways to get interactive visualization, like rggobi, the new googleViz R package, the animation package and some others. But if there are other packages worth exploring (offering things that R doesn't), I would be glad to know about them (like jmp, mathlab, spss, sas, excel, and so on).

p.s: this is the first question to use the tag "interactive-visualization"

  • $\begingroup$ I guess @Shane will have something to say here while talking about webvis (parser for protovis) since protovis (dedicated to web visualisation) (vis.stanford.edu/protovis) contains the possibility of interactive graphics... $\endgroup$ Jan 19, 2011 at 10:15
  • $\begingroup$ In R, there is also iPlots and Rgl, but Javascript- or Python-based solutions may be more flexible. $\endgroup$ Feb 7, 2012 at 9:43

4 Answers 4


Apart from Protovis (HTML+JS) or Mayavi (Python), I would recommend Processing which is

an open source programming language and environment for people who want to create images, animations, and interactions. Initially developed to serve as a software sketchbook and to teach fundamentals of computer programming within a visual context.

There are a lot of open-source scripts on http://www.openprocessing.org/, and a lot of related books that deal with Processing but also data visualization.

I know there is a project to provide an R interface, rprocessing, but I don't know how it goes. There's also an interface with clojure/incanter (see e.g., Creating Processing Visualizations with Clojure and Incanter).

There are many online resources, among which Stanford class notes, e.g. CS448B, or 7 Classic Foundational Vis Papers You Might not Want to Publicly Confess you Don’t Know.


Some more packages to add to Chl's suggestion of Processing for creating interactive visualisations. All these are javascript-based and can run in a browser, so can be used for publishing as well as for your own analysis:

  • D3.js is the successor to Protovis. It's more powerful in that you have more control over the objects created (they're proper DOM objects, i.e. you have full control over them using javascript), but some prefer Protovis for simplicity. Good technical D3 vs Protovis discussion here.
  • Raphael.js is a good option for highly customised mass-market web interactivity since it's both future proof (no flash) and works on browsers as old as IE6 (the only thing it doesn't work on that I know of is old versions of the Android browser). Like D3, everything is a targetable DOM object and it has good built api controls for animation and interactivity. It offers nothing out of the box that is specific to visualisation: it's a very powerful and flexible blank slate, a great choice for designing custom visualisations but not for your own initial exploratory analysis. Get acquainted with your data first.
  • gRaphael.js is standard charts (bar, line, etc) for Raphael. It's basic but works and can be built upon - might be a useful ingredient if you are building your own suite.

Regarding your other question about learning, for general principles, Information Dashboard Design deserves a mention, if what you want is to make an array of general purpose interactive standard tools for your data.

Interactive visualisations are on the line between stats and interactivity design: so books on that may be of use. I don't have any personal experience of any of the many interaction design textbooks, but I am a big fan of Universal Principles of Design. It might be overkill for your needs, but consider looking down the Usability column in its excellent Categorical Contents page and reading the chapters listed (progressive disclosure, signal to noise, etc).

Also, for anyone new to programming, Programming Interactivity is a good place to start for beefing up technical skills (it also includes a hefty chapter on Processing).

But for knowing what works and what is possible, you can't beat learning by doing, and a good kick-start could be to consider trailing and analysing the big-name big-price-tag general purpose interactive visualisation packages like tableau and jmp, and think about why their features are designed the way they are.

  • $\begingroup$ Thanks for editting in the links whuber - beat me to it! $\endgroup$ Feb 8, 2012 at 13:04

In addition to Processing, check out the Python-based Nodebox (1, 2, OpenGL), which was inspired by Processing:

Nodebox 1 is Mac only, whereas Nodebox 2 and the OpenGL version are cross-platform.

Python has a ton of data crunching libraries that can be imported into Nodebox, e.g., scipy.org


As a seperate approach to the existing answers, shortly after I posted my first long list, WEAVE emerged: an open source dedicated data visualisation suite. Here's a brief write-up on WEAVE on the leading data vis blog Flowing Data

It's wise to take a different approach to data visualisation depending on where you are in the process. The earlier you are - the more raw and unexplored your data - the more likely you are to benefit from pre-built, flexible, general purpose suites like WEAVE and it's closed source commercial counterparts like Tableau and JMP - you can try things out quickly and painlessly to get to know the data and to figure out what lines of attack to take to get the most out of it.

As you discover more about the data, your focus is likely to shift towards communication or 'guided exploration' - more customised exploratory data visualisations designed based on the caveats, nuances and areas of interest you have now discovered in the data. This is where blank slate products like the programmatic vector drawing tools listed above come into their own.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.