将图形分开打印到PDF文件并同时输出R Markdown

纳尔逊·莫赖斯(Nelson A. Morais)

假设我有此功能可以在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

要在两个文件中打印出图,我该怎么办?

马丁·施梅泽(Martin Schmelzer)

请尝试以下方法:

---
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()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章