是否可以将ggplot2的结果直接传递给magick?
已经有效的工作流程:
我可以用ggplot2创建几个图 plot1,plot2,plot3等结果在plot1.png,plot2.png,plot3.png
然后我可以使用magick阅读所有png并将所有图片组合成一个gif。
是否可以在不先保存到磁盘的情况下执行此操作?
答案 0 :(得分:2)
最小的例子(感谢hrbrmstr和jeroen!)
library(magick)
library(ggplot2)
library(purrr)
library(dplyr)
mtcars2 <-
mtcars %>%
mutate(gear = as.factor(gear))
# create canvas
frames <- image_graph(width = 300, height = 600, res = 150)
# make a ggplot for every gear
walk(1:nlevels(mtcars2$gear), ~{
xdf <- filter(mtcars2, gear == levels(gear)[.x]) # makes the split
gg <-
ggplot(data = xdf) +
geom_point(aes(x= mpg, y = wt))
print(gg)
}) # ends the walk command
#done with plotting
dev.off()
# animate
image_animate(frames, 1)