График, созданный в knitr через кеш = TRUE, не сохраняет заданное поле - PullRequest
0 голосов
/ 09 января 2019

Я создаю графики через knitr, используя опцию cache=T chunck. Я использую Rstudio.

Поле не отображается в выходном PDF-файле или на графике, сохраненном в папке с файлами. Если я добавлю поле на внешнем поле, оно будет работать, как и ожидалось.

Есть ли опция chunck для управления этим? Я посмотрел на варианты сюжета на https://yihui.name/knitr/options, но не нашел ничего, что могло бы помочь.

Вот файл Rmd и 2 созданные изображения, обратите внимание на использование par(mar=c(4,4,4,4) и theme(plot.margin=unit(rep(2,4),"cm")).

---
title: "Untitled"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE,cache=T,dev='jpeg',fig.height=5,fig.width=5)
library(ggplot2)
```

```{r base}
par(mar=c(4,4,4,4))
plot(mtcars$cyl,mtcars$mpg)
```

```{r ggplot}
ggplot(data = mtcars) +
  geom_point(aes(x=cyl,y=mpg))+
  theme(plot.margin=unit(rep(2,4),"cm"))
```

```{r base_with_box}
par(mar=c(4,4,4,4))
plot(mtcars$cyl,mtcars$mpg)
box("outer", col='blue')  
```

image created with ggplot

image created with base

image created with base and with a box

1 Ответ

0 голосов
/ 10 января 2019

Графики PDF по умолчанию обрезаются в pdf_document. Смотри ?rmarkdown::pdf_document. Чтобы отключить эту функцию:

output:
  pdf_document:
    fig_crop: false
...