r - 自动调整大图以适合 rmarkdown 的页面 pdf 输出
问题描述
将我的 rmarkdown 文件编织成带有大图的 PDF 时遇到问题。生成 PDF 文件时,绘图会被剪切。
问题是我找不到自动调整所有图的高度和宽度的方法。当我正在写一个非常大的报告时,我有几个这样的图,因此单独调整它们(通过 fig.width 和 fig.height)是没有问题的。
我应该在我的 YAML 或 preamble.tex 文件中使用任何包/命令吗?
最小的可重现示例:
---
output: pdf_document
---
## Large Plot
```{r}
library(meta)
data(Fleiss93)
##
m <- metabin(event.e, n.e, event.c, n.c,
data = Fleiss93, studlab = study,
sm = "RR", method = "I")
forest(m)
```
解决方案
要更改默认设置,请将以下代码块放在文档的前面:
```{r include = FALSE}
knitr::opts_chunk$set(fig.height = 9, fig.width = 7)
```
你也可以使用类似的东西
```{r include = FALSE}
knitr::opts_chunk$set(out.height = "\\textheight", out.width = "\\textwidth")
```
重新缩放图像以尝试完全填充页面。默认情况下knitr
会阻止你改变纵横比,但如果你真的想填充页面,扭曲和所有,使用
```{r include = FALSE}
knitr::opts_chunk$set(out.height = "\\textheight", out.width = "\\textwidth",
out.extra = "keepaspectratio=false")
```
我建议不要做最后的选择;你的情节看起来真的很难看。
更一般地说:knitr
默认值非常好。knitr::opts_chunk$set()
当您想要原始默认值时,需要明确指定您更改使用的每一个。因此,对于像这些奇怪的选项,将选项剪切并粘贴到需要它们的每个块中,并保留默认值可能不是不可能的。
推荐阅读
- laravel - 如何在 Laravel 5.6 中错误修复 Laravel Group
- python - 删除小写字母并在字符串末尾移动标点符号
- c++ - GCC 和 OpenJDK 编译器中跟踪调试信息的差异
- java - java OOM 创建 2 个十亿整数的数组
- java - Spring Boot Cassandra 读取超时
- node.js - 错误命令失败,退出代码为 1。当我尝试运行纱线时
- c - 何时在 C 中使用 %d 和 %f?
- git - 来自某人 PR 的 Cherry-Picking 提交
- javascript - 当循环在异步函数内部而不是相反时,为什么 Async/Await 可以正常工作?
- ruby - 解析器过滤器插件不起作用 Td-agent [Fluentd]