使R Studio图仅显示在新窗口中

时间:2017-10-02 22:30:41

标签: r rstudio

使用R Studio时,我通常只使用堆叠在控制台顶部的.R文件。我隐藏了其他窗格(环境,历史,文件等)。

但每当我绘制图形时,其他窗格会自动弹出侧栏以显示“绘图”窗格。因为我在笔记本电脑上工作,这使得一切都太小而无法看到。通过单击“绘图”窗格上的缩放按钮,我可以将绘图也显示在新窗口中,但不会阻止“绘图”窗格显示。

有没有办法去"禁用" R Studio中的Plots窗格,强制图显示在新窗口中?

> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils    
[5] datasets  methods   base     

other attached packages:
[1] ggplot2_2.2.1     jsonlite_1.4     
[3] data.table_1.10.4

loaded via a namespace (and not attached):
 [1] labeling_0.3     colorspace_1.2-6
 [3] scales_0.4.1     lazyeval_0.2.0  
 [5] plyr_1.8.4       tools_3.2.3     
 [7] gtable_0.1.2     tibble_1.3.0    
 [9] curl_2.5         Rcpp_0.12.10    
[11] grid_3.2.3       munsell_0.4.2   
> 

6 个答案:

答案 0 :(得分:6)

在RStudio中,默认图形设备通常为"RStudioGD"。您可以将其更改为其他内容:正常选择在Windows上为"windows",在MacOS上为"quartz",在Linux上为"X11"。例如,使用

options(device = "quartz")

在Mac上的RStudio会话中,您将获得常规的MacOS图形窗口。

答案 1 :(得分:5)

在情节调用之前尝试使用windows命令。

windows();(mpg ~ wt, mtcars)

当窗格保持最小化时,绘图应弹出自己的窗口。

答案 2 :(得分:1)

dev.new()函数将打开一个新的绘图窗口,该窗口随后成为所有绘图的目标。

如果要打开另一个窗口,可以再次运行命令以打开另一个窗口。

dev.off()将关闭窗口(按照默认打开的顺序)。

您可以在文档here中了解如何控制多个图形设备。

答案 3 :(得分:0)

如果使用R Markdown,您可以强制RStudio在Source窗口中显示绘图。在Rmd文件中,绘图与代码一起显示;它被称为R Markdown笔记本。您也可以在所谓的R代码块中设置图的大小:

```{r fig.height = 2, fig.width = 3}
plot(mpg ~ wt, mtcars)
```

当您运行块时,绘图将显示在其下方。

如果要设置整个笔记本的绘图大小,请使用opts_knitopts_chunk设置包选项,例如:

```{r setup} 
library(knitr) 
opts_knit$set(global.par = TRUE) 
opts_chunk$set(fig.width = 4.5, fig.height = 3.5)
```

有关详细信息,请参阅herehere

答案 4 :(得分:0)

注释“ RStudio \ R \ Tools.R”中的以下行似乎有效...

# set our graphics device as the default and cause it to be created/set
.rs.addFunction( "initGraphicsDevice", function()
{
   # options(device="RStudioGD")
   # grDevices::deviceIsInteractive("RStudioGD")
  grDevices::deviceIsInteractive()
})

答案 5 :(得分:0)

如果您希望当前脚本中的所有图都显示在单独的窗口中,这应该可以:

dev.new(noRStudioGD = TRUE)

*在 RStudio 版本 1.4.1106 上测试,Windows 版本为 R 4.0.5 (2021-03-31)

对于“永久”解决方案,Rubén Fernández-Casal 的答案应该很有效。