本节介绍如何给ggplot2对象添加gif动态图,喜欢的小伙伴可以关注我的公众号R语言数据分析指南,持续分享更多优质资源,在此先行拜谢了
加载必须R包
安装magick软件包并加载它。beepr也要安装和加载该软件包,以便在Rgif完成渲染gif时可以听到RStudio的提示音(可能要花很长时间)
library(tidyverse)
library(magick)
library(beepr)
library(ggfx)
图像绘制
通过ggfx可以绘制带阴影的图像并将其保存为PNG,有兴趣的可以参考https://mp.weixin.qq.com/s/c8DXQXcP3-2HF6gup2xW7Q
ggplot(mtcars,aes(mpg,disp))+
with_shadow(geom_smooth(alpha=1),singma=4)+
with_shadow(geom_point(size=3),sigma=4)+
theme_bw()
ggsave("beaches.png")
找到喜欢的gif并将其另存为.gif文件。将图像文件通过magick读入
beachplot <- image_read("beaches.png")
wizgif <- image_read("ladywiz.gif")
图像合成
制作一个合成图像,将散点图和gif放在一起
frames <- image_composite(beachplot, wizgif,offset = "+1200")
图像导出
对框架进行动画处理并写入新的gif。这将需要很长时间,因此需要安装该beepr软件包可以在完成时发出警报
animation <- image_animate(frames, fps = 10)
image_write(animation, "beachwiz.gif")
beep()
网友评论