R:从命令行运行脚本时显示图

时间:2019-08-04 13:56:48

标签: r ggplot2 command-line graphics

从命令行执行R脚本时(无中间保存到文件)如何显示带有ggplot图形的窗口?

示例脚本test.R

#!/usr/bin/env Rscript

library(ggplot2)
p = ggplot(aes(x = Sepal.Length), data = iris) + geom_histogram(color = 'black', fill = NA)
plot(p)

在命令行上,使用./test.R运行脚本。 这会将图转储到Rplots.pdf-相反,我想要一个窗口,就像在与图的交互式会话中一样,没有文件输出。

如何指定输出设备为屏幕? (例如在Ubuntu上)

1 个答案:

答案 0 :(得分:1)

您可以通过调用X11()来执行此操作,这将打开一个图形窗口。 help("X11")的一些相关摘录:

  在Unix-like上,

'X11'启动X的图形设备驱动程序             窗口系统(版本11)。这只能在             可以访问X服务器的机器/帐户。

     

用法:

     

X11(display =“”,宽度,高度,点大小,伽玛,bg,画布,            字体,家族,xpos,ypos,标题,类型,抗锯齿)

     

参数:

     

显示:图形窗口将出现的显示。的             默认是在用户环境中使用该值             变量“ DISPLAY”。如果一个             X11设备已经在另一台显示器上打开。

但是,它将在R脚本完成执行后立即关闭。因此,这可以显示您的情节,但开放时间不长:

#!/usr/bin/env Rscript

library(ggplot2)
p = ggplot(aes(x = Sepal.Length), data = iris) +
    geom_histogram(color = 'black', fill = NA)
X11()
plot(p)

我想真正的问题是

  • 为什么您不愿意在查看之前保存情节?和
  • 如果要打开图窗口而不保存图,为什么不直接在交互式R会话中运行命令?在我看来,如果您不保存结果,这会更有用。
相关问题