13

我正在尝试使用 r-markdown 文档在 html 中呈现 gganimate() 图。我能够创建 html 文档(尽管下面的简单示例至少需要一分钟)并且 gganimate 图形成功加载到浏览器(firefox)中,但是,我在浏览器中得到了一堆不需要的输出。

不需要的输出如下所示:


第一帧 (1%)

第 2 帧 (2%)

第 3 帧 (3%)

...

第 96 帧 (96%)

第 97 帧 (97%)

第 98 帧 (98%)

第 99 帧 (99%)

第 100 帧 (100%)

完成编码...完成!


就像我说的,在这个不需要的输出之后,动画确实正确显示了。

我尝试过使用 knitR 代码块标题选项。主要是在这里查看这些选项:https ://bookdown.org/yihui/rmarkdown/r-code.html

我还尝试了这篇文章中建议的解决方案:在 r markdown 中抑制控制台输出,但保留绘图具体来说,我尝试将 ggplot 对象包装在“不可见”中。

只需将以下代码复制到 Rmarkdown 文档中,将此 Rmarkdown 文档保存为“example.Rmd”,然后在 R 控制台中运行:rmarkdown::render("example.Rmd")

---
    title: "Testing gganimate with R Markdown"
    output: html_document
---

```{r message = FALSE}
library(ggplot2)
library(gganimate)
ggplot(mtcars, aes(factor(cyl), mpg)) + 
  geom_boxplot() + 
  # Here comes the gganimate code
  transition_states(
    gear,
    transition_length = 2,
    state_length = 1
  ) +
  enter_fade() + 
  exit_shrink() +
  ease_aes('sine-in-out')
```
4

3 回答 3

16

一种解决方法是将动画分配给对象goo <- ggplot(...并将动画写入文件anim_save("goo.gif", goo),同时抑制代码块的结果results = FALSE。然后在代码块之后立即在 markdown 中渲染 gif ![](goo.gif)

例如

---
title: "Testing gganimate with R Markdown"
output: html_document
---


```{r message = FALSE, warning = FALSE, results = FALSE}
library(ggplot2)
library(gganimate)
goo <- ggplot(mtcars, aes(factor(cyl), mpg)) + 
  geom_boxplot() + 
  # Here comes the gganimate code
  transition_states(
    gear,
    transition_length = 2,
    state_length = 1
  ) +
  enter_fade() + 
  exit_shrink() +
  ease_aes('sine-in-out')

anim_save("goo.gif", goo)
```


![](goo.gif)
于 2019-02-24T06:14:16.467 回答
1

我也遇到了这个问题,所以我决定深入研究代码,看看我是否可以完全摆脱这些消息。

事实证明,输出来自默认用于生成动画的gifski包。gifski 允许您控制是否输出这些带有进度标志的消息。gganimate使用interactive()调用的输出来设置这个标志。

我不确定为什么 rmarkdown 中的任何块选项都没有抑制消息(可能是因为它们是用C代码创建的),但我解决此问题的方法是不使用连接到我的编辑器的交互式R会话来创建文档,我使用以下命令从命令行创建文档的最终版本:

R -e "rmarkdown::render('document.Rmd',output_file='document.html')"

于 2019-08-22T09:23:55.153 回答
1

编辑:问题中的示例现在在我的桌面上失败了(gifski 1.4.3-1,gganimate 1.0.7),尽管它仍然可以在我的笔记本电脑上运行(gifski 1.4.3,gganimate 1.0.7)。桌面错误是

File test_gganimate_files/figure-html/unnamed-chunk-1-1.gif not found in resource path
Error: pandoc document conversion failed with error 99
Execution halted

我尝试使用 降级versions::install.versions("gifski", "1.4.3"),但错误仍然存​​在。抱歉,我目前没有时间重新创建我的其他软件包版本。


原来的:

使用 gifski 0.8.6、gganimate 1.0.7,这个问题似乎在 2020 年末消失了。这是我devtools::session_info()在编织问题中的示例之后:

devtools::session_info()
## - Session info ---------------------------------------------------------------
##  setting  value                       
##  version  R version 4.0.3 (2020-10-10)
##  os       Windows 10 x64              
##  system   x86_64, mingw32             
##  ui       RTerm                       
##  language (EN)                        
##  collate  English_United States.1252  
##  ctype    English_United States.1252  
##  tz       Europe/Berlin               
##  date     2020-12-02                  
## 
## - Packages -------------------------------------------------------------------
##  package     * version date       lib source        
##  assertthat    0.2.1   2019-03-21 [1] CRAN (R 4.0.0)
##  callr         3.5.1   2020-10-13 [1] CRAN (R 4.0.3)
##  cli           2.2.0   2020-11-20 [1] CRAN (R 4.0.3)
##  colorspace    2.0-0   2020-11-11 [1] CRAN (R 4.0.3)
##  crayon        1.3.4   2017-09-16 [1] CRAN (R 4.0.0)
##  desc          1.2.0   2018-05-01 [1] CRAN (R 4.0.0)
##  devtools      2.3.2   2020-09-18 [1] CRAN (R 4.0.3)
##  digest        0.6.27  2020-10-24 [1] CRAN (R 4.0.3)
##  dplyr         1.0.2   2020-08-18 [1] CRAN (R 4.0.2)
##  ellipsis      0.3.1   2020-05-15 [1] CRAN (R 4.0.0)
##  evaluate      0.14    2019-05-28 [1] CRAN (R 4.0.0)
##  fansi         0.4.1   2020-01-08 [1] CRAN (R 4.0.0)
##  farver        2.0.3   2020-01-16 [1] CRAN (R 4.0.0)
##  fs            1.5.0   2020-07-31 [1] CRAN (R 4.0.2)
##  generics      0.1.0   2020-10-31 [1] CRAN (R 4.0.3)
##  gganimate   * 1.0.7   2020-10-15 [1] CRAN (R 4.0.3)
##  ggplot2     * 3.3.2   2020-06-19 [1] CRAN (R 4.0.2)
##  gifski        0.8.6   2018-09-28 [1] CRAN (R 4.0.0)
##  glue          1.4.2   2020-08-27 [1] CRAN (R 4.0.2)
##  gtable        0.3.0   2019-03-25 [1] CRAN (R 4.0.0)
##  hms           0.5.3   2020-01-08 [1] CRAN (R 4.0.0)
##  htmltools     0.5.0   2020-06-16 [1] CRAN (R 4.0.2)
##  knitr         1.30    2020-09-22 [1] CRAN (R 4.0.3)
##  labeling      0.4.2   2020-10-20 [1] CRAN (R 4.0.3)
##  lifecycle     0.2.0   2020-03-06 [1] CRAN (R 4.0.0)
##  magrittr      2.0.1   2020-11-17 [1] CRAN (R 4.0.3)
##  memoise       1.1.0   2017-04-21 [1] CRAN (R 4.0.0)
##  munsell       0.5.0   2018-06-12 [1] CRAN (R 4.0.0)
##  pillar        1.4.7   2020-11-20 [1] CRAN (R 4.0.3)
##  pkgbuild      1.1.0   2020-07-13 [1] CRAN (R 4.0.2)
##  pkgconfig     2.0.3   2019-09-22 [1] CRAN (R 4.0.0)
##  pkgload       1.1.0   2020-05-29 [1] CRAN (R 4.0.0)
##  plyr          1.8.6   2020-03-03 [1] CRAN (R 4.0.0)
##  prettyunits   1.1.1   2020-01-24 [1] CRAN (R 4.0.0)
##  processx      3.4.4   2020-09-03 [1] CRAN (R 4.0.2)
##  progress      1.2.2   2019-05-16 [1] CRAN (R 4.0.0)
##  ps            1.4.0   2020-10-07 [1] CRAN (R 4.0.3)
##  purrr         0.3.4   2020-04-17 [1] CRAN (R 4.0.0)
##  R6            2.5.0   2020-10-28 [1] CRAN (R 4.0.3)
##  Rcpp          1.0.5   2020-07-06 [1] CRAN (R 4.0.2)
##  remotes       2.2.0   2020-07-21 [1] CRAN (R 4.0.2)
##  rlang         0.4.9   2020-11-26 [1] CRAN (R 4.0.3)
##  rmarkdown     2.5     2020-10-21 [1] CRAN (R 4.0.3)
##  rprojroot     2.0.2   2020-11-15 [1] CRAN (R 4.0.3)
##  scales        1.1.1   2020-05-11 [1] CRAN (R 4.0.0)
##  sessioninfo   1.1.1   2018-11-05 [1] CRAN (R 4.0.0)
##  stringi       1.5.3   2020-09-09 [1] CRAN (R 4.0.2)
##  stringr       1.4.0   2019-02-10 [1] CRAN (R 4.0.0)
##  testthat      3.0.0   2020-10-31 [1] CRAN (R 4.0.3)
##  tibble        3.0.4   2020-10-12 [1] CRAN (R 4.0.3)
##  tidyselect    1.1.0   2020-05-11 [1] CRAN (R 4.0.0)
##  tweenr        1.0.1   2018-12-14 [1] CRAN (R 4.0.0)
##  usethis       1.6.3   2020-09-17 [1] CRAN (R 4.0.3)
##  vctrs         0.3.5   2020-11-17 [1] CRAN (R 4.0.3)
##  withr         2.3.0   2020-09-22 [1] CRAN (R 4.0.3)
##  xfun          0.19    2020-10-30 [1] CRAN (R 4.0.3)
##  yaml          2.2.1   2020-02-01 [1] CRAN (R 4.0.0)
## 
## [1] C:/R-library
## [2] C:/Program Files/R/R-4.0.3/library
于 2020-12-02T21:43:35.923 回答