以固定的时间间隔执行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秒获取一次图[重复]的主要内容,如果未能解决你的问题,请参考以下文章