我想自动保存每个生成的图和来自特定目录中R会话的相关代码。
我注意到RStudio将每个图存储在一个临时文件中(Linux中的/tmp/Rtmp*/*.png)。因此,当我关闭R时,我的.Last函数会将所有这些文件复制到保存目录中。但是,我还想在一些* .Rhistory文件中使用这些图复制相关代码(即,最后10行)(使用savehistory)功能)。该目录将包含以下内容:
首先要帮助我的是了解Rstudio绘图功能如何工作,但我没有找到消息来源。我假设它使用dev.copy(),因为dev.list()输出是:
plot(0)
dev.list()
> RStudioGD png
2 3
你有什么想法吗?
编辑:看看rstudio源代码,我在Tools.R文件中找到了saveGraphicsSnapshot函数,但我仍然不明白它是如何工作的......
答案 0 :(得分:0)
首先,RStudio是R的前端,因此要了解RStudio绘图函数的工作原理"是...只是为了理解R plot
函数的工作原理。您可以谷歌查找文档。
现在,重点:将plot()
的结果输出到文件的最简单方法是使用列出的函数here(顺便提一下,我建议你好好看一下网站...它是R)的一个很好的学习资源。在您的代码中,只需输入相关函数:
# A simple example:
x <- rnorm(1000)
pdf('mytestplot.pdf') # This will redirect the output of the plot() function
# to a PDF file
hist(x)
dev.off() # This will "turn off" the output "redirecting"... after invoking
# this function, plots will be shown again in the plot viewer
其他功能:
png()
:输出到PNG文件jpeg()
:输出到JPEG文件希望这有帮助