Search code examples
graphicsvideormovieclipmovies

Creating a Movie from a Series of Plots in R


Is there an easy way to create a "movie" by stitching together several plots, within R?


Solution

  • Here is one method I found using R help:

    To create the individual image frames:

    jpeg("/tmp/foo%02d.jpg")
    for (i in 1:5) {
      my.plot(i)
    }
    dev.off()
    

    To make the movie, first install ImageMagick. Then call the following function (which calls "convert", part of ImageMagick I suppose):

    make.mov <- function(){
         unlink("plot.mpg")
         system("convert -delay 0.5 plot*.jpg plot.mpg")
    }
    

    Or try using the ffmpeg function as described in this article (I've found this gives cleaner results): ffmpeg -r 25 -qscale 2 -i tmp/foo%02d.jpg output.mp4

    May require a bit of tinkering, but this seemed pretty simple once everything was installed.

    Of course, anywhere you see "jpg" or "jpeg", you can substitute GIF or PNG to suit your fancy.