17

我正在创建一大堆图表,并希望将生成的图表导出为 PDF。当然,可以在 rstudio 的“绘图”选项卡中单击“导出”并手动选择“将绘图另存为 PDF”,我不希望将每个部分都包含在pdf()/中dev.off()

理想情况下,我想要一个函数,它将获取 RStudio 中当前显示的图并使用我想要的参数(格式/文件名/宽度/高度)保存它。

想法?

更新

根据@naught101 的建议 - 对于一个 5x7(英寸!)的 pdf 文件,该文件的大小可以方便地粘贴到 A4 Word 文档中,以下操作效果很好:

dev.copy2pdf(file="example.pdf", width = 7, height = 5)

更好的是,作为具有默认尺寸的易于调用的函数:

dopdf <- function(filename = "dopdf.pdf", pdf.width = 7, pdf.height = 5) {
 dev.copy2pdf(file=filename, width = pdf.width, height = pdf.height)
}

虽然 usingggplot2可以让我节省使用该ggsave功能,dev.copy2pdf但这是一个很好的通用解决方案(回答我原来的问题)。

4

2 回答 2

12

我想你正在寻找dev.copy2pdf. 这允许您将当前设备复制到 pdf,使用与pdf(). 对于基本绘图功能和 ggplot2(以及任何其他使用标准 grDevice 绘图设备的绘图库,从外观上看)同样适用。

于 2012-07-03T04:23:55.310 回答
7

如果使用ggplot2,则可以使用该ggsave功能保存当前绘图。此功能允许您选择结果图(PDF、png 或其他)的宽度、高度等。不使用ggplot2时,该savePlot功能可用于获得类似的功能,尽管手册页建议它仅适用于 cairoX11设备。

于 2012-05-08T11:42:05.783 回答