В этом ответе { ссылка } Я частично ответил на проблему с изменением размера подфигур в выводе ggplot2
, используя код, подобный следующему:
---
title: "Untitled"
header-includes:
- \usepackage{subcaption}
output:
pdf_document:
keep_tex: TRUE
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r, echo = FALSE, fig.height=3, fig.width=1,fig.subcap=c("first", "second", "third"),fig.cap="Main"}
library(ggplot2)
df <- data.frame(
x = rnorm(30),
y = rnorm(30)
)
p1 <- p2 <- p3 <- ggplot(df, aes(x, y)) + geom_point()
p1 + theme(plot.margin = unit(c(1,0,1,0),"in") + theme_get()$plot.margin)
p2 + theme(plot.margin = unit(c(1/2,0,1/2,0),"in") + theme_get()$plot.margin)
p3
```
Это приводит к выводу:
Обратите внимание, что на первом и втором графиках нет нижнего поля, хотя я запрашивал равные верхнее и нижнее поля. Если я посмотрю на фактические .pdf
файлы в каталоге рисунков, я пойму, что они вообще не содержат полей: кажется, что файл обрезан до края ограничительной рамки чернил на странице, поэтому первый график (в соответствии с «Свойствами документа» Acrobat) 0,83 дюйма на 0,83 дюйма, второй - 0,83 дюйма на 1,83 дюйма, а последний - 0,83 дюйма на 2,83 дюйма.
Что бы я ожидать, чтобы получить - это иметь каждый из трех графиков, вертикально центрированных в пределах размера 1 на 3 дюйма, который я запросил. Все PDF-файлы должны быть такого размера.
Есть ли способ подавить обрезку?