实时自动递增GGR绘图

实时自动递增GGR绘图,r,plot,ggplot2,R,Plot,Ggplot2,解答如何在R中创建具有实时效果的增量绘图 我想用ggplot2做同样的事情,而不是用R的baseplot。直接从该链接中的答案复制,我尝试了以下方法,但无效: 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

解答如何在R中创建具有实时效果的增量绘图

我想用
ggplot2
做同样的事情,而不是用R的base
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\u线
s。但我想逻辑是一样的


另外,当在R-Studio中“放大”情节时,是否可以实现这一点

现在还不清楚这段代码将用于何处,但这段代码将生成一个平滑渲染的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))
}
})
库(动画)
图书馆(GG2)
#你的数据

n将整个
ggplot(…)+…+…
行括在
print(…)
中,如
print(ggplot(df)+…)
@jlhoward,谢谢。它确实会一个接一个地显示绘图,但这会导致更多的“闪烁效果”,而不是视觉上的连续流动。如果我减少
Sys.sleep
以获得更无缝的效果(例如使用
0.01
),则不会绘制任何内容。谢谢,我查看此内容是为了可视化交易策略测试。今天偶然发现了此内容。知道如何控制生成图像的宽度/高度吗?但这不是实时的