我试图在包'动画'中使用saveGIF功能。 。我已经安装了所需的外部软件ImageMagick。试用代码如下:
library(animation)
ani.options(convert = 'C:\\Program Files\\ImageMagick-7.0.6-Q16\\convert.exe')
saveGIF({
for (i in 1:10) plot(runif(10), ylim = 0:1)
})
但它会出现以下错误:
Executing:
"C:\Program Files\ImageMagick-7.0.6-Q16\convert.exe -loop 0 -delay 100
Rplot1.png Rplot2.png Rplot3.png Rplot4.png Rplot5.png Rplot6.png Rplot7.png
Rplot8.png Rplot9.png Rplot10.png "animation.gif""
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
an error occurred in the conversion... see Notes in ?im.convert
Warning messages:
1: running command 'C:\WINDOWS\system32\cmd.exe /c "C:\Program Files\ImageMagick-7.0.6-Q16\convert.exe -loop 0 -delay 100 Rplot1.png Rplot2.png Rplot3.png Rplot4.png Rplot5.png Rplot6.png Rplot7.png Rplot8.png Rplot9.png Rplot10.png "animation.gif""' had status 1
2: In cmd.fun(convert) :
'"C:\Program Files\ImageMagick-7.0.6-Q16\convert.exe -loop 0 -delay 100 Rplot1.png Rplot2.png Rplot3.png Rplot4.png Rplot5.png Rplot6.png Rplot7.png Rplot8.png Rplot9.png Rplot10.png "animation.gif""' execution failed with error code 1
3: running command '"C:\Program Files\ImageMagick-7.0.6-Q16\convert.exe -loop 0 -delay 100 Rplot1.png Rplot2.png Rplot3.png Rplot4.png Rplot5.png Rplot6.png Rplot7.png Rplot8.png Rplot9.png Rplot10.png "animation.gif""' had status 127
从?im.convert
中的注释注意到ImageMagick用户请从http://www.imagemagick.org安装ImageMagick,并确保convert.exe的路径 在你的路径中#39;变量,在这种情况下commandconvert可以 没有完整路径就叫。 Windows用户经常非常困惑 关于ImageMagick和' PATH'设置,所以我会尝试搜索 ImageMagick在Registry Hive中 readRegistry(' SOFTWARE \ ImageMagick \ Current')$ BinPath,因此你可能会 不需要修改你的路径'变量。适用于Windows用户 已经安装了LyX,我也会尝试在中找到转换实用程序 LyX安装目录,所以他们真的不必安装 ImageMagick如果LyX存在于他们的系统中(当然,LyX应该 与ImageMagick一起安装)。找到转换实用程序后,即可 动画选项'转换'将被设置(ani.options(转换= '路径/到/ CONVERT.EXE'));这可以节省搜索转换的时间 在下次操作系统中。
是不是我可以理解这些因为如果convert.exe的路径不在我的PATH变量中,我需要指定convert.exe的完整目录?
设置或调用convert.exe有什么问题吗?
答案 0 :(得分:-1)
saveGIF({
for (i in dflaser10sec1$seg) {
title <- as.character(i)
g1 <- ggplot(dflaser10sec1, aes(x = dflaser10sec1$value, y = dflaser10sec1$pos, fill = dflaser10sec1$pos, width = 1)) +
coord_fixed() +
coord_flip() +
annotate('text', x = 98, y = -800000,
label = 'Laser PROFILE', size = 3) +
geom_bar(data = subset(dflaser10sec1, pos == "9"), stat = "identity") +
geom_bar(data = subset(dflaser10sec1, pos == "10"), stat = "identity") +
theme_economist(base_size = 14) +
scale_fill_manual(values = c('#ff9896', '#d62728')) +
ggtitle(paste0('profile of the laser setup, ', title)) +
ylab('Value') +
xlab('Laser Position') +
theme(legend.position = "bottom", legend.title = element_blank()) +
guides(fill = guide_legend(reverse = TRUE))
print(g1)
}
}, movie.name = 'laser.gif', interval = 0.1, ani.width = 700, ani.height = 600)