假设我正在运行demo(graphics)
,我想控制连续绘图的显示速度。通常当我运行demo(graphics)
时,我可以通过按Enter来控制下一个绘图的显示时间(这样可以触发demo()
中的下一个功能)。但是我不想按下回车 - 我希望它自己运行,在绘图显示之间进行时间控制的变化(例如,绘图会每6秒更改一次,接下来会在3秒后更改,等等)。以下是残酷代码,该代码在2秒后在两个demo()
函数之间更改。我还使用demo()
在快速模式中运行echo=FALSE
。但是我想在单个demo()
内进行此操作(如果可能的话,也可以用example()
)。
library(tcltk2)
test1 <- function() demo(graphics,echo=F)
test2 <- function() demo(lm.glm, package="stats",echo=F)
tclTaskSchedule(2000, test1())
Sys.sleep(2)
tclTaskSchedule(2000, test2())
Sys.sleep(2)
答案 0 :(得分:7)
只需设置before.plot.new
挂钩即可添加延迟:
setHook("before.plot.new", function(...) Sys.sleep(1))
demo(graphics, ask=F)