小编Joh*_*hak的帖子

如何在使用ggsave和Rscript时阻止R创建空的Rplots.pdf文件

我有一个R脚本,使用ggsave保存一些图.当我从命令行运行脚本时,它不仅保存我的图,而且还保存一个空的Rplots.pdf文件.如何防止R创建这个不必要的文件?

这是一个重现错误的示例脚本:

#!/usr/bin/env Rscript

# Code that creates unnecessary Rplots.pdf file
library(ggplot2)
my.data <- data.frame(x = 1:10, y = 1:10)
my.plot <- qplot(x, y, data = my.data)
ggsave('example.png', my.plot) 
Run Code Online (Sandbox Code Playgroud)

以下所有运行脚本的方法都会创建不必要的文件:

Rscript script.R
Rscript --vanilla script.R
chmod a+x script.R
./script.R 
Run Code Online (Sandbox Code Playgroud)

此外,当我从交互式会话中获取代码时,将打开一个不必要的空白R图形设备窗口.

此外,如果我使用以下更详细的代码代替ggsave,我没有这些问题:

#!/usr/bin/env Rscript

# Code that does NOT create unnecessary Rplots.pdf file
library(ggplot2)
my.data <- data.frame(x = 1:10, y = 1:10)
my.plot <- qplot(x, y, data = my.data)
png(file = 'example.png')
print(my.plot)
dev.off()
Run Code Online (Sandbox Code Playgroud)

这是我的会话信息(无论是运行Rscript还是以交互方式运行):

R version 3.0.1 (2013-05-16)
Platform: x86_64-pc-linux-gnu …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

25
推荐指数
1
解决办法
8138
查看次数

标签 统计

ggplot2 ×1

r ×1