如何绘制许多图到pdf和Rmarkdown报告的子集?

时间:2018-11-13 22:49:28

标签: r pdf plot r-markdown

我需要生成大约50幅图。我想将它们全部保存在一个pdf中,并且其中只有几个出现在我的R markdown html输出中。

我可以像这样将许多图表打印到一个pdf文件中:

pdf("path/to/out.pdf")
for (sam in samples){
    plot(sam) # simplified stand-in for many lines of code
}
dev.off()

这会将一个样本的图放在pdf的每一页上,我以后可以翻阅。

我希望其中一些绘图出现在我的降价促销中,而不必重复绘图代码。

我尝试过:

pdf("path/to/out.pdf")
count=0
for (sam in samples){
    plot(sam) # simplified stand-in for many lines of code

    if (sample(1:10,1)==1){ #randomly select a few examples
        count = count + 1
        dev.copy(which=dev.prev()) # to revert back to the default device
        dev.set(dev.next()) # to resume printing to the same pdf
    }
}
dev.off()

这样,pdf是正确的,并且计数为> 0,但是图未出现在降价报告中。

我认为dev.copy()系列中的某项功能可以满足我的要求,但我似乎无法使其正常运行。在我尝试过的其他变体中,dev.print()抱怨仅从屏幕设备进行打印,或者我收到错误消息,说我无法复制到同一设备,或者不能复制到空设备。

类似的问题(例如Saving plot as pdf and simultaneously display it in the window (x11))通常想做相反的事情:打印以先筛选a,然后再打印为pdf。而且它们通常只处理一个情节。
我想绘制多个图,我希望所有图都去pdf,但是只有一个FEW可以去Rmarkdown html报告,作为pdf中内容的示例。

我正在使用R 3.5.1,RStudio v1.1.456在Mac上工作

谢谢!

0 个答案:

没有答案