One of the advantage of R over other popular statistical packages is that it now has “natural” support for interactive and dynamic data visualization. This is, for instance, something that is lacking with the Python ecosystem for scientific computing (Mayavi or Enthought Chaco are just too complex for what I have in mind).
Some time ago, I started drafting some tutors on interactive graphics with R. The idea was merely to give an overview of existing packages for interactive and dynamic plotting, and it was supposed to be a three-part document: first part presents basic capabilities like
iplot (aka Acinonyx)–this actually ended up as a very coarse draft; second part should present
ggobi and its R interface; third and last part would be about the Qt interface, with
cranvas. I hope I will find some time to finish this project as it might provide useful complements to my introductory statistical course on data visualization and statistics with R.
I recently updated the Qt interface (during the summer I had some problems with the linking stage, probably because of external dependencies on the Qt framework, but it seems it has been solved in the meantime), and I’m really happy with what cranvas has to offer. On a Mac, the follwoing shortcuts are useful:
- Del/F5 to delete/undelete observations
- ? for identify mode
- S followed by Ctrl-click to vary brushing size; S then click to release and return to dynamic brushing
- PageUp/PageDown gives access to brushing history
Of course, it does not necessarily compete with what can be achieved using D3 (but see mbostock’s blocks), although we soon reach the limit between data visualization and info visualization (joint newsletter of the Statistical Computing & Statistical Graphics Sections of the ASA, PDF). While browsing some of Mike Bostock demos, I came across this paper which suggest that animated transitions can significantly improve graphical perception: Heer, J and Robertson, G (2007). Animated Transitions in Statistical Data Graphics. IEEE Information Visualization (InfoVis)
I’m not a big fan of such animated graphics, unless they intend to be displayed during a talk to emphasize a specific point. For day-to-day statistical stuff, we don’t really need that level of sophistication. We just want to be able to link plots together and highlight observations according to, say, an auxiliary variable or the magnitude of resiudals from a regression model, and study multidimensional datasets with projection techniques and efficient multivariate visualization techniques. However, I should note that the r2d3 project (by Hadley Wickham) looks promising and it will probably allow more interactivity with data displays. It looks like Python aficionados are going into the same direction, e.g. IPython Notebook and d3.js Mashup, but see d3 Wiki (§ Interoperability).