Я пытаюсь анимировать временные ряды в определенном регионе. Я хочу, чтобы часть ленты от 0
до 200
появилась в начале. Я также хочу, чтобы следующий интервал ленты полностью показывал только , когда линия входит в эту область. Однако я не уверен, как объединить две анимации.
Моя текущая попытка показывает оба анимированных изображения сразу:
library(gganimate)
library(ggplot2)
drift <- c(rep(0.003, 200), rep(.001, 300), rep(.006, 500))
sig2 <- 0.001
## time series
set.seed(1)
x <- rnorm(n=length(t) , sd=sqrt(sig2)) + drift
## time
t1 <- 1:1000
## limits for ribbon
up <- 3 * sig2 * t1 + cumsum(drift) + sd(x[1:300])
low <- -3 * sig2 * t1 + cumsum(drift) - sd(x[1:300])
ribbonframe <- cbind(up, low, t1)
ribbonframe <- data.frame(as.matrix(ribbonframe))
frame2 <- data.frame(cbind(t1, x))
pl2 <- ggplot() +
## plot ribbon
geom_ribbon(data=ribbonframe,aes(x=t1, ymin=low, ymax=up), alpha=0.3) +
## plot the path
geom_line(data=frame2,aes(x=t1, y=x), size=2) +
## no labels on any axes except time
theme(axis.title.y=element_blank(),
axis.text.y=element_blank(),
axis.ticks.y=element_blank())
pl2
## animate pl2 with respect to time
tr <- pl2 + transition_reveal(t1)
tr