如何保存 Rstudio 历史中的所有图表

Posted

技术标签:

【中文标题】如何保存 Rstudio 历史中的所有图表【英文标题】:How to save all graphs from Rstudio History 【发布时间】:2016-04-30 11:28:51 【问题描述】:

我正在寻找一种方法来保存 Rstudio GUI 中绘图窗口中的所有图形。

示例:

require(ggplot2)
qplot(mpg, wt, data = mtcars)
qplot(mpg, wt, data = mtcars, colour = cyl)
qplot(mpg, wt, data = mtcars, size = cyl)
qplot(mpg, wt, data = mtcars, facets = vs ~ am)

我现在在绘图窗口中有 4 个图形。我想将每个绘图保存到一个文件中。 我尝试了 ggsave,ggsave 中的“绘图”参数似乎很有希望,但我没有找到如何浏览 RstudioGD 中所有可用的绘图。

有什么想法吗?

编辑: 我知道我能做到:

a<-qplot(mpg, wt, data = mtcars)
b<-qplot(mpg, wt, data = mtcars, colour = cyl)
c<-qplot(mpg, wt, data = mtcars, size = cyl)
d<-qplot(mpg, wt, data = mtcars, facets = vs ~ am)
ggsave(a ...)
ggsave(b ...)

但我不想创建 R 对象。

【问题讨论】:

你想要什么输出?你想要pdf吗?您想要稍后可以加载的ggplot 对象吗?这从你的问题中不清楚。无论您要保存什么,我怀疑您最好编写一个脚本来保存对象,而不是使用 rstudio 的实用程序。 我不需要 ggplot 对象,png,pdf .. 可以。 你可以做ggsave(qplot(.....),....),这样你就不用做对象了。 【参考方案1】:

要写出 pdf 或 png,请查看 ?pdf?png。大体流程是

# start pdf device
pdf(file=<path/filename.pdf>, height=<number>, width=<number>)
# first plot, on first page of pdf
print(qplot(...))
# second plot, on second page of pdf
print(qplot(...))
# more plots
...
# close graphics device
dev.off()

我通常将每个图形保存在单独的文件中,所以我的过程通常如下所示:

# start pdf device
pdf(file=<path/filename.pdf>, height=<number>, width=<number>)
# print plot
print(qplot(...))
# close graphics device
dev.off()

然后重复。

请务必在完成绘图后调用 dev.off()。

【讨论】:

以上是关于如何保存 Rstudio 历史中的所有图表的主要内容,如果未能解决你的问题,请参考以下文章

R/RStudio详细安装流程

r 将Rstudio历史数据库保存为更好的格式

RStudio 如何保存和导出文件?

如何查看 Jenkins 任务/构建/项目持续时间的历史图表?

RStudio - 保存环境时的压缩

手把手教分析| 掌握R语言第一步