Background/Related work: standard R graphics are based on the pen and paper model, which makes animations and interactivity difficult to accomplish. Non-interactive animations can be accomplished with the animation package, and some interactions with non-animated plots can be done with the qtbase, qtpaint, and cranvas packages. Linked plots in the web are possible using SVGAnnotation or gridSVG, but using these to create such a visualization requires knowledge of Javascript. The svgmaps package defines interactivity (hrefs, tooltips) in R code using igeoms, and exports SVG plots using gridSVG. Vega can be used for describing plots in Javascript.

The animint package supports brushing by adding 2 new aesthetics to the grammar of graphics:

The basic idea is to start from a list of ggplots, then export all their data in CSV along with a plot.json metadata file, which is then read and plotted using D3. The result is several linked, interactive, animated plots which are viewable in a web browser:

Title Plots Clickable plots Variables shown Animated?
Evolution simulator 3 3 6 yes
Breakpoints 2 1 5 no
Max margin interval regression 4 2 9 no

Proposal: implement several improvements to the animint package, so that more of the features of ggplot2 are available in these plots. In its current form, a large part of the grammar is not available, so the GSOC student should implement one or several of the following:


Mentors: Toby Dylan Hocking, Hadley Wickham, backup Yihui Xie

developers/projects/gsoc2012/interactive_animations.txt · Last modified: 2013/04/04 by tdhock5
Recent changes RSS feed R Wiki powered by Driven by DokuWiki and optimized for Firefox Creative Commons License