我想使用LaTeX animate包以PDF格式生成动画图形。
---
title: "test_animations"
author: "Colours"
date: "27/10/2017"
output:
pdf_document:
includes:
in_header: header_ani.tex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
pacman::p_load(gganimate, gapminder, ggplot2)
```
## Test animations
```{r sample_ani, fig.show='animate', message=FALSE, warning=FALSE}
p2 <- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop)) +
geom_point() +
geom_point(aes(frame = year), color = "red") +
scale_x_log10()
gganimate(p2, saver = "gif")
```
header_ani.tex
\usepackage{animate}
警告:忽略未知的美学:框架
从第20-25行退出(second_animation.Rmd)错误:无法 找到ffmpeg命令。您应该更改animation.fun挂钩 选项或安装ffmpeg并启用libvpx。执行暂停
为什么引用ffmpeg。根据 knitr documentation:
当chunk选项fig.show =&#39; animate&#39;并且有多个情节 从代码块生成,所有绘图将组合成一个 动画。 对于LaTeX输出,LaTeX包动画用于 以PDF格式创建动画。 对于HTML / Markdown输出,默认情况下为FFmpeg 用于创建WebM视频。注意,您必须启用libvpx 安装FFmpeg时支持。 Linux和Windows用户可以 按照FFmpeg网站上的下载链接(libvpx已经 在二进制文件中启用)。对于OS X用户,您可以通过安装FFmpeg 自制
ffmpeg 应该用于转换为html。是因为RMarkdown的管道?
强制在线的某处使用ffmpeg?
是否可以在RMarkdown文档中使用animate包,并避免使用ffmpeg,以便获取的PDF具有以下组件,其中包含由animate包授予的conrtols。
(不是我要生成的图表,而是显示动画图形应该如何嵌入PDF中,取自上面引用的动画包文档。)
答案 0 :(得分:2)
借鉴类似的回答
---
title: "test_animations"
author: "Colours"
date: "27/10/2017"
classoption: landscape
output:
pdf_document:
keep_tex: true
includes:
in_header: header_ani.tex
---
```{r setup, include=FALSE}
Vectorize(require)(package = c("knitr"),
character.only = TRUE)
opts_chunk$set(echo = FALSE,
cache = TRUE)
pacman::p_load(gganimate, gapminder, ggplot2)
```
## Test animations
```{r sample_ani, message=TRUE, warning=TRUE, echo=TRUE, }
p2 <- ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop)) +
geom_point() +
geom_point(aes(frame = year), color = "red") +
scale_x_log10()
gganimate(p2, filename = "animation2.gif", title_frame = TRUE) -> amimate
```
<!-- Notes on the answer: https://tex.stackexchange.com/a/240387/123504 -->
```{r convert_shele, echo=TRUE, message=TRUE, warning=TRUE, paged.print=FALSE}
# Extra options for resize can be added
system(command = "convert -coalesce animation2.gif something.png")
```
\animategraphics[loop,controls,width=\linewidth]{12}{something-}{0}{12}
# Latex code generating animation
Figures 0 - 12 should reflect frames
~~~
\animategraphics[loop,controls,width=\linewidth]{12}{something-}{0}{12}
~~~
标题文件有问题。代码生成带有所需控件的动画图形。
使用可用控件生成动画的快照。
convert
命令。我认为这不是最佳的,因为它涉及来回转换图形。 {12}{something-}{0}{12}
中的值必须手动设置,第一个数字反映帧速率(减少将减慢动画速度)something-
对应于通过{{1生成的文件名为convert
且something-0.png ... something-n.png
的名称对应于文件编号。