我正在尝试使用函数生成图像,从R-Script中创建 gif 。
我有一个函数,给定一些信息创建一个带点的Map。 我在Vector上使用这个函数获得一系列不同的图像,我想把它们放在一个gif中。看起来或多或少是这样的:
createMap <- function(my_variable){
my_map <- a_map() + geom_point() # some variable missing
png(filename = paste(aDate, ".png", sep = ""), width = 3149, height = 2183, units = "px")
plot(mw_map)
dev.off()
}
ImageMagick安装在我的电脑和转换文件“converter.exe”上。后来我尝试使用
生成gif saveGIF({
lapply(my_vector, createMap)
}, movie.name = "MY_GIF.gif")
但是我收到一条错误消息:
> convert: improper image header `Rplot1.png' @
> error/png.c/ReadPNGImage/4362. convert: no images defined `MY_GIF.gif'
> @ error/convert.c/ConvertImageCommand/3254.
an error occurred in the conversion...
有人知道我做错了吗?
答案 0 :(得分:0)
创建地图png文件后。使用以下代码。您不需要在PC上安装ImageMagick。
library(magick)
png.files <- sprintf("Rplot%02d.png", 1:10) #Mention the number of files to be read
GIF.convert <- function(x, output = "animation.gif")#Create a function to read, animate and convert the files to gif
{
image_read(x) %>%
image_animate(fps = 1) %>%
image_write(output)
}
GIF.convert(png.files)
有关详细信息,请访问以下链接:Link