如何从RMarkdown中更改scianimator延迟参数?

时间:2015-06-23 22:53:24

标签: r jquery-animate knitr

我正在创建一个RMarkdown演示文稿(ioslides),它包含一个动画。我已经成功使用了hook_scianimator,通过使用外部头文件来包含必要的css和js文件。但是,我无法告诉我如何或在哪里修改scianimator参数。

在下面的例子中,我将render()中的afp参数设置为1/19,并且正在制作190帧。所以,希望我能以每秒19帧的速度制作10秒动画的动画。

---
title: "Untitled"
author: "Author"
date: "June 23, 2015"
output: 
  ioslides_presentation:
    includes:
       in_header: header.html
    self_contained: false
---
```{r, echo=FALSE}
library(knitr)
opts_knit$set(animation.fun = hook_scianimator, cache=TRUE)
knit_hooks$set(custom_plot = hook_plot_custom)
```

```{r tourr, custom_plot=TRUE, fig.show='animate', fig.ext='png', echo=FALSE, message=FALSE, out.width='2.5in',fig.num=190}
library(tourr)
tourr::render(flea[, 1:6], grand_tour(d = 2), display = display_xy(), frames=190, apf=1/19, dev="png", fig_path("%1d.png"), width=240, height=240)
Sys.sleep(1)
```

但是,当我检查由Knit HTML生成的HTML时,我看到以下内容:

<script type="text/javascript">
  (function($) {
     $(document).ready(function() {
      var imgs = Array(190);
       for (i = 0; ; i++) {
         if (i == imgs.length) break;
        imgs[i] = "Presentation_files/figure-html/tourr-" + (i + 1) + ".png";
      }
      $("#tourr").scianimator({
           "images": imgs,
           "delay": 1000,
          "controls": ["first", "previous", "play", "next", "last", "loop", "speed"],
      });
      $("#tourr").scianimator("play");
    });
  })(jQuery);
</script>

相关组件是"delay": 1000,。这不是scianimator的默认值(that number is 250)。并且,由于一秒钟内有1000毫秒,因此延迟意味着它每秒播放一帧。

我如何通过我的首选延迟?它是在knitr选项中,无论是在文档还是块级?我应该手动编辑HTML吗?我可以在某处更改某些内容吗?

1 个答案:

答案 0 :(得分:0)

我还没有尝试过,但我想块选项interval应该可行,例如interval = 0.25(250毫秒)。