2014-06-18 34 views
2

我可以使用什么命令来查找和设置绘图窗口为最大可用值,即可以在点击顶部横条最大化按钮后生成绘图窗口?在R中查找并设置绘图窗口的最大尺寸

我搜索并发现,在Windows上运行R时,可以使用windows(width,height)函数,而在Linux上可以使用X11.options()。也可以按照this page建议的方式插入文件:~/.Xresources: R_x11*geometry:600x600。
但是,我找不到如何在运行程序的计算机上获得最大尺寸,以及如何使用R命令将绘图窗口设置为最大尺寸的最佳方法。

+0

通过@ lukeA的帖子的启发,我发现[此相关的帖子(http://stackoverflow.com/q/7305244/ 489704)。 – jbaums

回答

0

这似乎是工作“OK”在Ubuntu 12.04。 [我从上Rhelp后(我认为)前一段时间最详细]

my.dev.new <- function() { 

    scrn <- system("xdpyinfo | grep 'dimensions:'", wait=FALSE, intern=TRUE) 
    sc.dim <- as.numeric(unlist(regmatches(scrn, regexec("(\\d+)x(\\d+)", 
                    scrn)))[-1]) 

    res <- system("xdpyinfo | grep 'resolution:'", wait=FALSE, intern=TRUE) 
    dpi <- as.numeric(unlist(regmatches(res, regexec("(\\d+)x(\\d+)", res)))[-1]) 

    wdth <- sc.dim[1]/ dpi[1] 
    ht <- sc.dim[2]/dpi[2] 
    dev.new(width = wdth, height = ht) 
} 


my.dev.new() 
+1

这正是我想要的。我还注意到,在命令dev.new(width = 30,height = 30)中放入大量数据也会产生最大化的窗口。 – rnso

1

在Windows上,我会尝试首先得到的DPI屏幕分辨率,然后相应地设置宽度/高度参数:

windowsMax <- function() { 
    f <- function(cmd) as.numeric(gsub("\\D", "", system(cmd, intern=TRUE)[2])) 
    width <- f("wmic desktopmonitor get screenwidth") 
    height <- f("wmic desktopmonitor get screenheight") 
    dpi <- f("wmic desktopmonitor get PixelsPerXLogicalInch") 
    windows(width = width/dpi, height = height/dpi) 
} 
windowsMax() 
+0

绘图窗口无处可见(但显示在任务栏中)。宽度和高度均返回“NA” - Win 8.1。 :( – jbaums

+0

它似乎得到它的工作,我需要使用返回的矢量的第三个元素:'系统(CMD,实习生= TRUE)[3])''。奇怪的是,窗口并没有覆盖整个屏幕,尽管返回的宽度和高度是正确的。 – jbaums

+0

奇怪。我在Windows 7 x64上,但是,我也没有获得完全最大化的窗口。不知道这是否可能... – lukeA