Запустите непрерывный `demo ()` с таймером для изменений между событиями - PullRequest
1 голос
/ 24 декабря 2011

Допустим, я бегу demo(graphics) и хочу контролировать скорость, с которой отображаются последовательные графики.Обычно, когда я запускаю demo(graphics), я могу контролировать, когда будет отображаться следующий график, нажав клавишу ввода (и, таким образом, вызывая следующую функцию в demo()).Но я не хочу нажимать ввод - я хочу, чтобы он запускался сам по себе, с контролируемыми по времени изменениями между отображениями графика (например, график будет меняться каждые 6 секунд, затем через 3 секунды и т. Д.).Ниже приведен код brutal , который изменяется между двумя demo() функциями через 2 секунды.Я также запускаю 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 Ответ

7 голосов
/ 24 декабря 2011

Просто установите before.plot.new крючок для добавления задержек:

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