R 有没有办法在ggplot2 pdf输出中保留全部边距?

R 有没有办法在ggplot2 pdf输出中保留全部边距?,r,ggplot2,r-markdown,R,Ggplot2,R Markdown,在这个回答中,我部分回答了使用类似以下代码调整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, f

在这个回答中,我部分回答了使用类似以下代码调整
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
```
---
标题:“无标题”
标题包括:
-\usepackage{suboption}
输出:
pdf\U文件:
保持沉默:是的
---
```{r设置,include=FALSE}
knitr::opts_chunk$set(echo=TRUE)
```
```{r,echo=FALSE,fig.height=3,fig.width=1,fig.subcap=c(“第一”、“第二”、“第三”),fig.cap=“Main”}
图书馆(GG2)

df在查看了
knitr
rmarkdown
源代码一段时间后,我找到了答案。
rmarkdown::pdf_document
输出函数有一个默认为
TRUE
的参数
fig_crop
。将其设置为
FALSE
将禁止对整个文档中的图形进行裁剪。因此,在这个示例中,我需要做的就是将我的头YAML更改为include

output: 
  pdf_document:
    fig_crop: FALSE

问题解决了。据我所知,没有区块级别选项可以改变这一点:所有的图形都被裁剪,或者没有裁剪。

对不起,您想得到什么有点不清楚-想让绘图以某种方式对齐吗?也许最好和最安全的方法是先创建一个组合图,使用
cowplot
patchwork
,然后编织它。@Tjebo,我添加了一些文字来解释我想要的内容。我不想要一个组合图,因为我想使用LaTeX子图形环境。我遇到了一个非常类似的问题,并在这里回想。现在才找到此相关线程: