использование tikzdevice в RMarkdown с выходом на проектор

Мне было интересно, можно ли использовать пакет tikzdevice для создания графиков R в RMarkdown, которые будут экспортированы в презентацию проектора.

Я бы подумал, что решение, которое я ищу, может быть похоже на пример с Sweave на странице 15 руководство по tikzdevice.

Я попробовал, не зная точно, что делаю, - это исправить пример Yihui из книги RMarkdown:

---
title: "Habits"
author: John Doe
date: March 22, 2005
output: beamer_presentation
---

# In the morning

## Getting up

- Turn off alarm
- Get out of bed

---

```{r, echo=FALSE, results='tex'}
require(tikzDevice)
tikz(console=TRUE)
plot(sin, -pi, 2*pi, main="A Stand Alone TikZ Plot")
dummy <- dev.off()
```     

К сожалению, это не приводит к отображению графика tikz в презентации beamer. Кто-нибудь видит, как этого можно добиться? Спасибо.

С уважением, Майкл


person Michael    schedule 06.08.2019    source источник


Ответы (1)


В том, что вы написали, есть несколько проблем. LaTeX нужно указать, чтобы он использовал пакет tikz; а в knitr вы используете results='asis' вместо results='tex'. Наконец, вам нужно указать tikz(), какой размер использовать.

Однако вместо того, чтобы исправлять эти вещи, проще сказать knitr обо всем с помощью графического устройства 'tikz'. Итак, это работает:

---
title:  Demo with dev='tikz'
output: beamer_presentation
---

## A Tikz plot

```{r echo=FALSE, dev='tikz'}
plot(sin, -pi, 2*pi, main="A Stand Alone TikZ Plot")
```     
person user2554330    schedule 07.08.2019
comment
Спасибо, @ user2554330. Это великолепно. Кроме того, ваша ссылка на knitr заставила меня понять, что я читал не в том месте: подробности о графическом движке оказались задокументированы в руководство по графике для вязания, а не в R Markdown документации, как я предполагал. - person Michael; 07.08.2019