пример карты [https://i.stack.imgur.com/7TfSo.gif]
У меня есть анимация годовой численности птицы на протяжении нескольких лет. Я хочу добавить врезанный график тренда в численности птиц, линию, показывающую тренд, и точку, которая проходит через каждый год, соответствующий году на карте. Мне удалось создать график и карту как анимацию отдельно, но я не знаю, как их анимировать вместе. Я использую старую версию gganimate. Я прикрепил карту до сих пор, не двигая точку.
Кто-нибудь знает, как я могу анимировать точку на карте-врезке?
Набор данных карты выглядит примерно так:
easting northing yr pred
168500 16500 1994 8.565071
168500 16500 1995 8.944672
168500 16500 1996 9.324085
168500 16500 1997 9.682163
168500 16500 1998 9.991015
168500 16500 1999 10.216780
168500 16500 2000 10.327187
Код для карты:
my_plot<-ggplot()+
geom_point(data=test_map_data,aes(x=easting, y=northing, frame=yr,
colour=pred), size=0.8)+
coord_quickmap()+
theme_bw() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
axis.line=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
axis.text =element_blank())
#Add on trend graph
x <- my_plot + annotation_custom(grob=inset_plot, xmin=-305000,
xmax=70000, ymin=630000, ymax=1200000)
gganimate(x, interval=0.5,file="trial.gif", ani.width=600, ani.height=700)
Пример данных для карты врезки:
test_inset<-data.frame(years=1994:2000, trend=c(1,1.2,1.27,
1.16,0.97,0.85,0.83))
Код моей карты-врезки:
m<-ggplot()+geom_line(data=test_inset, aes(x=years, y=trend, group=1))+
theme_bw()+geom_point(data=trend_graph_sp, aes(x=years, y=trend,
frame=years, group=1), size=2, colour="#2b8cbe")+
xlab("Years")+ylab("Trend")+
scale_x_continuous(breaks=c(1995,2000,2005))+
theme(axis.text.x = element_text(angle=90))+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
axis.line=element_line(colour="black"))
inset_plot<-ggplotGrob(m)