在Rstudio中for循环期间更新情节?

时间:2012-10-30 16:44:48

标签: r plot rstudio

  

可能重复:
  Plotting during a loop in RStudio

我正在尝试监控收敛循环的状态,而且我似乎无法在每次迭代时更新图形。

以下是一些示例代码:

print(plot(c(0,1)~c(0,100)))
for(i in seq(100)) {
  Sys.sleep(.1)
  print(points( runif(1)~i ))
}

请注意,图表仅在绘制完所有内容后更新。我需要它来更新每个循环迭代。我认为print会这样做,但它不起作用。

更新

这是一个特定于RStudio的问题,因为它在基础R中正常工作。有没有办法在每次循环迭代中强制在RStudio中绘图?

1 个答案:

答案 0 :(得分:5)

使用X11()(或Windows上的win())启动单独的图形设备并使用它。

虽然我的RStudio设置上的情节似乎更新了。我的测试很简单:

plot(1:10);for(i in 1:10){points(10-i,i);Sys.sleep(1)}

我看到第一组10个点,然后在RStudio嵌入式图形窗口中以一秒的间隔出现下一个组。