Thursday, 13 February 2014

R: Animating 2D and 3D plots

One great package in R is the animation made by Yihui Xie. And just for fun, we are going to explore that. Our aim is to create simple animated 2D and 3D plots. Here is the first one, 2D of course
The code,

It's a piece of cake right? The function we used for wrapping the plot is saveGIF, this function basically collects all the plots made and use these as frames of the GIF file. In other words, the above plot was generated/looped 100 times through the curve function, and in every iteration we increased the limits of the x axis; hence rolling all the generated plots, animates x-axis towards positive values.

What about 3-dimensional? Speechless,

The function of the above plot is, $z = sin(x\times y)$, and was generated using the codes below,

Another wave, $z = sin(x) + cos(y)$, looped both across the ranges of $x$ and $y$, and degrees of $\theta$,
  
You should try it.

UPDATE

When installing the animation package, make sure to install the system requirements as well to use the saveGIF() function. You can choose from any of the following requirements:
  1. ImageMagick (http://imagemagick.org)
  2. GraphicsMagick (http://www.graphicsmagick.org)
  3. LyX (http://www.lyx.org) for saveGIF(); (PDF)LaTeX for saveLatex();
  4. SWF Tools (http://swftools.org) for saveSWF();
  5. FFmpeg (http://ffmpeg.org) for saveVideo()

No comments:

Post a Comment