我有一个数据框架,如下所示:

head(newnolarank)

    lon      lat week b
1 -90.06445 29.97121    1 9
2 -90.06704 29.96944    1 9
3 -90.07495 29.96567    1 9
4 -90.07448 29.96621    1 9
5 -90.16480 29.91240    1 9
6 -90.04797 29.94557    1 9


我的地图是从ggmap中的get_map函数生成的

map <- get_map("New Orleans, LA", zoom=10, color="bw")


我用geom_hex制作了一个十六进制地图

   p <- ggmap(map)+
coord_cartesian()+
stat_binhex(data=newnolarank,aes(x=lon, y=lat, alpha=0.5, frame = as.factor(b), cumulative = FALSE))+
scale_fill_continuous(low="#ACD9F4",high="#EC008C")+
theme(text=element_text(family="Avenir"),
axis.line=element_blank(),
axis.ticks = element_blank(),
axis.text = element_blank(),
plot.title=element_text(hjust=0.5),
 axis.title=element_blank())+
 ggtitle("Number of Sign Ups")


然后使用gganimate制作gif。问题出在这里;即使将累积值设置为false,生成的gif似乎仍具有旧图像,这会产生不希望的效果,即覆盖十六进制或在奇数区域显示十六进制。

gganimate(p, "gif1.gif", title_frame = TRUE)


这是GIF:

r - gganimate创建重复图像-LMLPHP

您还可以在图例中看到叠加层。

额外的问题:如果有人可以帮助我摆脱显示的alpha的传说,那也很好。

最佳答案

忘了在此处发布解决方案:事实证明数据集中存在时间的NA,因此gganimate将它们添加到了第一张图片中。基本上,这是一个功能而不是错误,并且从“星期”列中删除NA即可解决此问题。

关于r - gganimate创建重复图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42196711/

10-10 13:24