首页 > 解决方案 > 如何在 R 中将 for 循环保存为 Gif 文件?

问题描述

我想创建一个带有 XY 数据的 Gif,每次在我的图中添加一个新点。我想在 Gif 中查看我的数据的累积序列。在第一帧中,绘图应显示一个点,在后两个点中,在最后一帧中显示所有点。

为此,我试图将 for 循环保存为 Gif,但我有两个无法解决的问题。首先,Gif 只保存最后一帧或所有点的图像。第二,我使用par(new=TRUE)礼物的时候是保存的,但是每一帧只有一个点。
我试图在图中设置透明背景颜色,但这是不可能的。

这是一个例子:

x  <- 1:10
set.seed(1)
y <- rnorm(10)
graphics.off()     

library(animation)
ani.options(convert = 'C:/PROGRA~1/ImageMagick-7.0.7-Q16/magick.exe') # update the folder name to your software version.
saveGIF({

  for (i in 1:10) {
    plot(x[i], y[i], pch=1, type="b", col="red", xlim = c(1,10), ylim = c(-1, 2))
    Sys.sleep(0.5) 
    par(new=TRUE)
  }
}, movie.name = "test.gif", ani.width = 1000, ani.height = 500, nmax = 50, interval =0.5)

欢迎任何解决此问题的方法。

标签: rfor-loopanimationplotgif

解决方案


推荐阅读