使用计时器运行连续的`demo()`以便在事件之间进行更改

时间:2011-12-24 00:55:16

标签: r time presentation demo

假设我正在运行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)

1 个答案:

答案 0 :(得分:7)

只需设置before.plot.new挂钩即可添加延迟:

setHook("before.plot.new", function(...) Sys.sleep(1))
demo(graphics, ask=F)