将图形分开打印到 PDF 文件并同时输出 R Markdown
Printing graph to a PDF file apart and a R Markdown output at same time
假设我有这个功能来打印 PDF 文件中的绘图:
generatePlot<-function(values) {
pdf(file = "foo.pdf")
barplot(values, main = "A simple example")
dev.off()
}
然后我在 "test.Rmd" 中执行此操作,参数化 r warning=FALSE, message=FALSE, echo=FALSE
,这将输出一个 PDF 文档:
tmp.values <- sample(10, 6)
generatePlot(tmp.values)
问题是:剧情只出现在 "foo.pdf" 而不是 "test.pdf"。
在第二个中,我只观察到以下内容:
## pdf
## 2
要在两个文件中打印绘图,我需要做什么?
尝试以下操作:
---
title: "My HTML page"
output: pdf_document
---
```{r, warning=FALSE, message=FALSE, echo=FALSE}
generatePlot<-function(values) {
barplot(values, main = "A simple example")
dev.copy(pdf, "foo.pdf")
invisible(dev.off())
}
```
```{r warning=FALSE, message=FALSE, echo=F}
generatePlot(mtcars$mpg)
```
如您所见,我正在使用 dev.copy
来确保绘图首先打印在默认设备上,然后复制到 pdf 设备,该设备将绘图保存在 Rmd 文档的位置。为了抑制 dev.off()
的输出,请使用 invisible()
.
假设我有这个功能来打印 PDF 文件中的绘图:
generatePlot<-function(values) {
pdf(file = "foo.pdf")
barplot(values, main = "A simple example")
dev.off()
}
然后我在 "test.Rmd" 中执行此操作,参数化 r warning=FALSE, message=FALSE, echo=FALSE
,这将输出一个 PDF 文档:
tmp.values <- sample(10, 6)
generatePlot(tmp.values)
问题是:剧情只出现在 "foo.pdf" 而不是 "test.pdf"。 在第二个中,我只观察到以下内容:
## pdf
## 2
要在两个文件中打印绘图,我需要做什么?
尝试以下操作:
---
title: "My HTML page"
output: pdf_document
---
```{r, warning=FALSE, message=FALSE, echo=FALSE}
generatePlot<-function(values) {
barplot(values, main = "A simple example")
dev.copy(pdf, "foo.pdf")
invisible(dev.off())
}
```
```{r warning=FALSE, message=FALSE, echo=F}
generatePlot(mtcars$mpg)
```
如您所见,我正在使用 dev.copy
来确保绘图首先打印在默认设备上,然后复制到 pdf 设备,该设备将绘图保存在 Rmd 文档的位置。为了抑制 dev.off()
的输出,请使用 invisible()
.