老师安排的课设中我接触到了gganimate这个R包,网上的代码生成的动图效果很好,但是我自己运行一遍发现,生成的GIF是这样的
(闪眼警告!!!)
在CSDN和百度找了很久都没找到解决方法,然后终于在外网找到了原因,原来是animate函数中默认的renderer为gifski_renderer(),可能版本兼容问题对sRGB的渲染能力不足,导致出现了绿色频闪,特别刺眼。需要将renderer改为magick_renderer(),当然这个需要提前安装magick包,具体代码见下:
x <- p + transition_time(year) +
shadow_wake(wake_length = 0.2) +
ggdark::dark_theme_bw() + #可设置黑色主题
labs(title = "Year: {frame_time}") #设置标题跟随当前的年份变化
animate(x, fps=10,renderer = magick_renderer(),width = 800, height = 600,type = "cairo",detail = 3)
anim_save("x.gif")
p为静态ggplot,cairo去锯齿化,detail补帧
完美,是不是非常漂亮呢,喜欢的话就点个赞吧!新人创作不易
(ps今天我的专题汇报效果还是挺不错的嘻嘻)