【问题标题】:Find and set maximum size of plot window in R在 R 中查找并设置绘图窗口的最大大小
【发布时间】:2014-06-18 09:05:51
【问题描述】:

我可以使用什么命令来查找绘图窗口并将其设置为最大可用,即在单击顶部栏的最大化按钮后会产生一个绘图窗口的命令?

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

【问题讨论】:

标签: r plot


【解决方案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()

【讨论】:

  • 我看不到绘图窗口(但显示在任务栏中)。宽度和高度都返回 NA - Win 8.1。 :(
  • 似乎让它工作我需要使用返回向量的第三个元素:system(cmd, intern=TRUE)[3])。奇怪的是,尽管返回的宽度和高度是正确的,但窗口并没有覆盖整个屏幕。
  • 奇怪。我在 Windows 7 x64 上,但是,我也没有得到一个完全最大化的窗口。不知道这是否可行...
  • 是的,这对我在 W8/W8.1 上不起作用。在 cmd 窗口中运行显示宽度和高度的命令的结果为空。我认为这与不同的 DOS 版本有关(我在一个月或 2 个月前读过一些东西)
【解决方案2】:

这似乎在 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()

【讨论】:

  • 这正是我想要的。我还注意到在命令 dev.new(width=30, height=30) 中输入大量数字也会产生最大化的窗口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
  • 2023-04-11
  • 1970-01-01
  • 2019-02-25
  • 1970-01-01
  • 2022-11-28
  • 1970-01-01
相关资源
最近更新 更多