我尝试使用 knitranimation 进行动态演示。我选择了 hook_r2swf,它是我机器上唯一可用的。

例如,我 knit 以下 .Rmd 文件:

# Test Animation

```{r, fig.show='animate', aniopts='autoresume'}
opts_knit$set(animation.fun = hook_r2swf)
plot(1,1,type="n")
plot(2,2,type='n')
```

但是,似乎 .swf 将与块中绘制的所有数字重叠,可能如下所示:
<p><embed width="504" height="504" name="plugin" src="https://dl.dropbox.com/u/11900271/unnamed-chunk-1.swf" type="application/x-shockwave-flash"></p>

有谁知道如何使结果不重叠?

我正在使用具有以下 session 信息的 ubuntu 12.04:

R 版本 2.15.3 (2013-03-01)
平台:i686-pc-linux-gnu(32 位)
locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=C                 LC_NAME=C                  LC_ADDRESS=C
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] testpkg_1.0    xts_0.9-1      zoo_1.7-9      Rcpp_0.10.2    roxygen2_2.2.2 digest_0.5.2
[7] knitr_1.1

loaded via a namespace (and not attached):
[1] brew_1.0-6      evaluate_0.4.3  formatR_0.6     grid_2.15.3     lattice_0.20-13 stringr_0.6.2
[7] tools_2.15.3

谢谢!

最佳答案

这似乎是动画处理方式的一个问题。这两个地块被放置在彼此的顶部。虽然我不确定如何防止这种情况发生,但我可以建议以下解决方法。默认情况下,背景是透明的。如果我们把背景改成白色,问题就解决了:

```{r, fig.show='animate'}
opts_knit$set(animation.fun = hook_r2swf)
par(bg="white")
plot(1,1,type="n")
plot(2,2,type='n')
```

关于r - .swf 由 knitr 和 hook_r2swf 重叠创建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15900395/

10-12 17:11
查看更多