以固定的时间间隔执行for循环,例如。每5秒获取一次图[重复]

Posted

技术标签:

【中文标题】以固定的时间间隔执行for循环,例如。每5秒获取一次图[重复]【英文标题】:Execute for-loop at fixed time intervals, E.,g. get plots every 5 seconds [duplicate] 【发布时间】: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 个面板的图形。 【参考方案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)

【讨论】:

以上是关于以固定的时间间隔执行for循环,例如。每5秒获取一次图[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python循环控制间隔。

如何让crontab 按秒执行

固定间隔后获取纬度位置

Python线程以精确的时间间隔执行

crontab指定时间执行程序(秒)

我需要一个允许以不同间隔执行任务的 Nodejs 调度程序 [关闭]