I need to make a fairly complex animated graphic and decided to use grid for it. A very simple example of what I need:
##============================================================================== library(grid) grid.newpage() pushViewport(plotViewport()) pushViewport(viewport(xscale = extendrange(c(0, 100)), yscale = extendrange(c(0, 100)))) grid.xaxis() grid.yaxis() rectNames <- paste("r", 1:100, sep = "") for (i in 1:100) { grid.rect(x = unit(sample(0:100, 1), "native"), y = unit(sample(0:100, 1), "native"), width = 0.1, height = 0.1, name = rectNames[i]) } for (i in 1:100) { grid.remove(rectNames[i]) } ##============================================================================== The problem here is that removing grid objects is very slow, at least in the way I use it. Is it possible to remove all objects at once (or to use some technique similar to double buffering)? A second way to do it would be to remove a viewport and all its children from the current viewport tree. Is this possible? Example: ##============================================================================== grid.newpage() pushViewport(plotViewport()) pushViewport(viewport(xscale = extendrange(c(0, 100)), yscale = extendrange(c(0, 100)))) grid.xaxis() grid.yaxis() pushViewport(viewport(xscale = extendrange(c(0, 100)), yscale = extendrange(c(0, 100)), name = "plotVP")) for (i in 1:100) { grid.rect(x = unit(sample(0:100, 1), "native"), y = unit(sample(0:100, 1), "native"), width = 0.1, height = 0.1, name = paste("r", i, sep = "")) } *remove("plotVP")*?? ##============================================================================== Another approach would be to save every single plot as an image and use something like imagemagick to produce an animated gif, but I was just wondering if it's possible by using grid only (no need to use it outside of R). Thanks in advance Thomas ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.