【问题标题】:Execute for-loop at fixed time intervals, E.,g. get plots every 5 seconds [duplicate]以固定的时间间隔执行for循环,例如。每5秒获取一次图[重复]
【发布时间】:2016-03-13 17:41:28
【问题描述】:

如果我运行下面的代码,我无法看到图的变化,因为 for 循环执行得非常快。

for(i in 1:10) {
    plot(rnorm(20))
}

我想知道是否有办法减慢 for 循环并每 5 秒创建一个绘图。 谢谢!

【问题讨论】:

  • 您可以使用pdf(...); plot(...); dev.off() 序列保存您生成的图形,而不是暂停,您可以通过执行t_plot_name <- paste0("myPlot_", i); pdf(file=t_plot_name, ...) 之类的操作来生成文件的名称。或者,使用par(mfrow=c(3,4))(例如)调用来获得一个具有 3x4 排列的 12 个面板的图形。

标签: r for-loop plot


【解决方案1】:

您可以在显示下一个图之前等待用户输入:

# Wait for user input before showing next plot
par(ask=TRUE) 

# Loop that makes plots
for(i in 1:10) {
  plot(rnorm(20))
}

实际上要在两次绘图之间等待 5 秒:

# Loop that makes plots
for(i in 1:10) {
  plot(rnorm(20))
  # Wait 5 seconds
  Sys.sleep(5)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    相关资源
    最近更新 更多