2017-03-02 88 views
3

我使用RSCRIPT到運行如下情節:如何從Rscript彈出圖形窗口?

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

我希望這個代碼,彈出一個圖形窗口顯示的情節時,我會像這樣的代碼:

Rscript plot.R 

該程序完成後,圖形不會出現,甚至暫時不會。我知道這段代碼是正確的,因爲它確實在Rstudio GUI中產生了一個圖。

Rscript是否有一個功能可以在執行時自動彈出該圖?

+4

交互式圖形設備取決於操作系統。在Windows上它是'windows';在OSX上它是'石英';在Linux上,'x11'。 –

+0

@ 42-,你認爲使用Sys.info()['sysname']'是否是個好主意,然後有條件地使用適當的設備? –

+1

不是一個壞主意。我認爲我所看到的大部分代碼都使用'.Platform $ OS.type'或'.Platform $ GUI' –

回答

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對話框。

流行起來從RSCRIPT,實施例2的圖形窗口:

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

上面的代碼保存PNG到磁盤作爲一個文件和向操作系統請求以打開在設計用於該程序中的文件文件類型。