我有一个数据框架,如下所示:
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:
您还可以在图例中看到叠加层。
额外的问题:如果有人可以帮助我摆脱显示的alpha的传说,那也很好。
最佳答案
忘了在此处发布解决方案:事实证明数据集中存在时间的NA,因此gganimate将它们添加到了第一张图片中。基本上,这是一个功能而不是错误,并且从“星期”列中删除NA即可解决此问题。
关于r - gganimate创建重复图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42196711/