【问题标题】:How to pop up the graphics window from Rscript?如何从 Rscript 弹出图形窗口?
【发布时间】:2017-03-02 00:32:14
【问题描述】:

我正在使用 Rscript 运行如下图:

x=1:10 
y=1:10 
plot(x,y) 

当我像这样运行代码时,我希望这段代码会弹出一个带有图形的窗口:

Rscript plot.R

程序完成,图形没有出现,甚至暂时没有。我知道这段代码是正确的,因为它确实在 Rstudio GUI 中生成了一个绘图。

Rscript 是否具有在执行时自动弹出该图的功能?

【问题讨论】:

  • 交互式图形设备依赖于操作系统。在 Windows 上是windows;在 OSX 上是 quartz;在 Linux 上,x11.
  • @42-,您认为使用Sys.info()['sysname'] 然后有条件地使用适当的设备是个好主意吗?
  • 不错的主意。我认为我见过的大部分代码都使用.Platform$OS.type.Platform$GUI

标签: r plot


【解决方案1】:

从 Rscript 中弹出图形窗口,示例 1:

library(tcltk)
x=1:10 
y=1:10 
windows()     #Use X11() or quartz() if on linux or mac.
plot(x,y)
prompt  <- "hit spacebar to close plots"
extra   <- "some extra comment"
capture <- tk_messageBox(message = prompt, detail = extra)

上面的代码在弹出窗口中显示了绘图,并等待您在 tk_messageBox 对话框上按 ok。

从 Rscript 中弹出图形窗口,示例 2:

png("mygraphic.png") 
x = 1:10
print(x^2)
plot(x, x^2, 'o')
print("done")
dev.off()
browseURL("mygraphic.png") 

以上代码将 png 作为文件保存到磁盘,并要求操作系统在为该文件类型设计的程序中打开该文件。

【讨论】:

  • 您的第二种方法实际上是一个不错的解决方法。但是第一个对我不起作用。 library(tcltk) 返回 this error。尝试使用自制软件安装 tcl-tk,但也无济于事。
  • 好的,我从here 找到了解决方案。 R 需要安装brew reinstall r --with-openblas
  • @Foad library("tcltk") 应该可以工作("tcltk" 而不是tcltk)。通过在 R 提示符中键入 install.packages("tcltk") 确保您已安装库。
  • 谢谢,我已经实现了弹出图形。这很简单,不需要图书馆。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
相关资源
最近更新 更多