使用R语言制作动画

R制作动画的本质,是将一系列的图片,合成一张gif格式的图片

可以举个简单的例子:

png(file="example%02d.png", width=480, height=480)
par(bg="grey")
  for (i in c(10:1, "G0!")){
    plot.new()
    text(.5, .5, i, cex = 6 )
  }
dev.off()

system("convert -delay 20 *.png animated_count_down.gif")
file.remove(list.files(pattern=".png"))

上面的代码,首先绘制了11张png格式的图片,之后,通过调用系统 ImageMagick工具包,将png格式转换成gif格式的图片

test.gif

除此之外,也有工具包可以直接依据ggplot2生成的对象,构建动态图,比如gganimate

# Get data:
library(gapminder)

# Charge libraries:
library(ggplot2)
#devtools::install_github("dgrtwo/gganimate")
library(gganimate)
 
# Make a ggplot, but add frame=year: one image per year
p<- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, color = continent, frame = year)) +
  geom_point() +
  scale_x_log10() +
  theme_bw()
 
# Make the animation!ç
gganimate(p)
 
# Save it to Gif
gganimate(p, "271_gganimate.gif")

需要注意的是,gganimate工具包,在制作动画过程中,依然需要调用ImageMagick软件。

271_gganimate.gif

你可能感兴趣的:(使用R语言制作动画)