This function opens a graphical device (specified in
ani.options('ani.dev')
) first to generate a sequence of images based
on expr
, then makes use of the command convert
in
`ImageMagick' to convert these images to a single animated movie (as a GIF or
MPG file). An alternative software package is GraphicsMagick (use
convert = 'gm convert'
), which is smaller than ImageMagick.
saveGIF(
expr,
movie.name = "animation.gif",
img.name = "Rplot",
convert = "magick",
cmd.fun,
clean = TRUE,
extra.opts = "",
...
)saveMovie(
expr,
movie.name = "animation.gif",
img.name = "Rplot",
convert = "magick",
cmd.fun,
clean = TRUE,
extra.opts = "",
...
)
an expression to generate animations; use either the animation
functions (e.g. brownian.motion()
) in this package or a custom
expression (e.g. for(i in 1:10) plot(runif(10), ylim = 0:1)
).
file name of the movie (with the extension)
file name of the sequence of images (`pure' name; without any format or extension)
the command to convert images (default to be convert
(i.e. use ImageMagick), but might be imconvert
under some Windows
platforms); can be gm convert
in order to use GraphicsMagick; see
the 'Note' section for details
a function to invoke the OS command; by default
system
whether to delete the individual image frames
additional options passed to im.convert
other arguments passed to ani.options
, e.g.
ani.height
and ani.width
, ...
The command for the conversion (see im.convert
).
This function calls im.convert
(or gm.convert
,
depending on the argument convert
) to convert images to a single
animation.
The advantage of this function is that it can create a single movie file,
however, there are two problems too: (1) we need a special (free) software
ImageMagick or GraphicsMagick; (2) the speed of the animation will be beyond
our control, as the interval
option is fixed. Other approaches in this
package may have greater flexibilities, e.g. the HTML approach (see
saveHTML
).
See ani.options
for the options that may affect the output,
e.g. the graphics device (including the height/width specifications), the
file extension of image frames, and the time interval between image frames,
etc. Note that ani.options('interval')
can be a numeric vector!
Examples at https://yihui.org/animation/example/savegif/
ImageMagick: http://www.imagemagick.org/script/convert.php;
GraphicsMagick: http://www.graphicsmagick.org
Other utilities:
im.convert()
,
saveHTML()
,
saveLatex()
,
saveSWF()
,
saveVideo()