gifski

0th

Percentile

Gifski

Gifski converts image frames to high quality GIF animations. Either provide input png files, or automatically render animated graphics from the R graphics device.

Usage
gifski(png_files, gif_file = "animation.gif", width = 800, height = 600,
  delay = 1, loop = TRUE, progress = TRUE)

save_gif(expr, gif_file = "animation.gif", width = 800, height = 600, delay = 1, loop = TRUE, progress = TRUE, ...)

Arguments
png_files

vector of png files

gif_file

output gif file

width

gif width in pixels

height

gif height in pixel

delay

time to show each image in seconds

loop

should the gif play forever (FALSE to only play once)

progress

show progress bar

expr

an R expression that creates graphics

...

other graphical parameters passed to png

Aliases
  • gifski
  • save_gif
Examples
# NOT RUN {
# Manually convert png files to gif
png_path <- file.path(tempdir(), "frame%03d.png")
png(png_path)
par(ask = FALSE)
for(i in 1:10)
  plot(rnorm(i * 10), main = i)
dev.off()
png_files <- sprintf(png_path, 1:10)
gif_file <- tempfile(fileext = ".gif")
gifski(png_files, gif_file)
unlink(png_files)
# }
# NOT RUN {
utils::browseURL(gif_file)
# }
# NOT RUN {
# }
# NOT RUN {
# Example borrowed from gganimate
library(gapminder)
library(ggplot2)
makeplot <- function(){
  datalist <- split(gapminder, gapminder$year)
  lapply(datalist, function(data){
    p <- ggplot(data, aes(gdpPercap, lifeExp, size = pop, color = continent)) +
      scale_size("population", limits = range(gapminder$pop)) + geom_point() + ylim(20, 90) +
      scale_x_log10(limits = range(gapminder$gdpPercap)) + ggtitle(data$year) + theme_classic()
    print(p)
  })
}

# High Definition images:
gif_file <- file.path(tempdir(), 'gapminder.gif')
save_gif(makeplot(), gif_file, 1280, 720, res = 144)
utils::browseURL(gif_file)
# }
Documentation reproduced from package gifski, version 0.8.6, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.