在R中实时自动递增ggplot

时间:2014-11-29 18:38:22

标签: r plot ggplot2

This thread回答了如何在R中创建具有实时效果的增量图。

我想用ggplot2而不是R的基础plot做同样的事情。直接从该链接的答案中复制,我尝试了这个,但它不起作用:

n=1000
df=data.frame(time=1:n,y=runif(n))
window=100
for(i in 1:(n-window)) {
  print(i)
  flush.console()
  ggplot(df) + geom_line(aes(x=time, y=y), size=0.7) + xlim(i,i+window)
  Sys.sleep(.09)
}

我猜ggplot2的图片呈现效果不同。是否可以使用ggplot2创建实时更新效果?

理想情况下,我希望能够显示多个geom_line。但我猜逻辑将是相同的。

此外,当R-Studio中的情节是“缩放”时,是否可以实现此目的?

1 个答案:

答案 0 :(得分:6)

目前尚不清楚你要去哪里,但这段代码会产生一个平滑呈现的HTML动画。创建动画需要一段时间(约一分钟)。

library(animation)
library(ggplot2)
# your data
n  <- 1000
df <- data.frame(time=1:n,y=runif(n))
window <- 100
# create the animation
saveHTML({
for(i in 1:(n-window)) {
  print(ggplot(df) + geom_line(aes(x=time, y=y), size=0.7) + xlim(i,i+window))
}
})