我需要生成大约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上工作
谢谢!