Анимированные кусочки сюжета с gganimate - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь анимировать временные ряды в определенном регионе. Я хочу, чтобы часть ленты от 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
...