#r #ggplot2 #gganimate
Вопрос:
У меня есть следующий набор данных, он содержит много точек из разных многоточий. Я хочу каждый раз показывать один полный эллипс, и эллипс может исчезнуть, как только он будет показан полностью. Мое текущее решение состоит в том, чтобы использовать transition_reveal в gganimate. У него есть две проблемы, во-первых, прошлый след нельзя удалить. Во-вторых, эллипс был показан geom_path медленно, я хочу показать полный эллипс с самого начала. Как я могу решить эти проблемы?
library(ggplot2)
library(gganimate)
xx=c(1,1)
vv=c(-1,0)
ep=0.2
L=3
dl=100
#generate data
data<-matrix(0,L*dl,2)
for(i in 1:L){
for(j in 1:dl){
data[(i-1)*dl j,]=cos(ep*j)*xx sin(ep*j)*vv
if(j==dl){
xx=data[i*dl,]
vv=rnorm(2)*4
}
}
}
t<-rep(c(1:L),each=dl)
dat=cbind(t,data)
dat<-as.data.frame(dat)
colnames(dat)=c("t","x1","x2")
p=ggplot(dat,aes(x = x1,
y = x2))
geom_path()
transition_reveal(t)
p
введите код здесь