【发布时间】:2018-09-24 19:45:34
【问题描述】:
考虑这个简单的例子
library(dplyr)
library(ggplot2)
library(tidyr)
mydata <- data_frame(group = c('a', 'a', 'a', 'b', 'b', 'b'),
x = c(1,2,3,5,6,7),
y = c(3,5,6,4,3,2))
mydata2 <- mydata %>% group_by(group) %>%
nest() %>%
mutate(myplot = map(data, ~ggplot(data = .x, aes(x = x, y = x)) + geom_point()))
pdf("P://mychart.pdf")
print(mydata2$myplot)
dev.off()
上面的代码将输出一个有两页的pdf。如何在我的rmarkdown 文档中显示这两页?
使用
---
title: "crazy test"
output:
pdf_document
---
```{r global_options, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.pos = 'h')
```
ttt
## this is a test!!
```{r label, out.width = "85%", fig.cap = "caption"}
knitr::include_graphics(path = "P://mychart.pdf")
```
只会显示pdf的首页!另一个图表在哪里? :(
有什么想法吗?
谢谢!
【问题讨论】:
-
能否为每个图(编号)制作一个pdf,然后通过循环将它们添加到markdown文档中?
-
否,但假设您从外部获得
pdf。你只有pdf。你会怎么做? -
我无法重现您的示例(nest 来自什么包?)。
include_graphics函数似乎不支持多页 pdf。尝试使用staplr 拆分您的pdf(可能在一个带有echo=FALSE 的块中),然后将生成的图表包含在include_graphics循环中。 -
等一下,让我添加包。对此感到抱歉
-
你可以使用 LaTeX 包
pdfpages,c.f. stackoverflow.com/a/52482385/8416610.
标签: r r-markdown bookdown