创建特定大小的绘图窗口

我如何创建一个新的屏幕上的 R 图窗口具有特定的宽度和高度(像素等) ?

285633 次浏览

这取决于你使用的设备。如果你使用的是 Pdf 格式的设备,你可以这样做:

pdf( "mygraph.pdf", width = 11, height = 8 )
plot( x, y )

然后你可以像下面这样使用 mfrow 参数来划分 pdf 文件中的空间:

par( mfrow = c(2,2) )

这使得一个有四个面板可用于绘图的 pdf 文件。不幸的是,一些设备采取不同的单位比其他。例如,我认为 X11使用像素,而我确信 pdf 使用英寸。如果您只想创建几个设备并将不同的内容绘制到它们上面,那么可以使用 New ()、 dev.list ()和 dev.next ()

其他可能有用的设备包括:

这是所有 给你设备的清单。

使用 dev.new()(见 这个相关的问题)

plot(1:10)
dev.new(width=5, height=4)
plot(1:20)

具体使用哪些单位:

dev.new(width=5, height=4, unit="in")
plot(1:20)
dev.new(width = 550, height = 330, unit = "px")
plot(1:15)

编辑 RStudio 的附加参数(2020年5月) ,(感谢 用户 Soren Havelund Welling)

对于 RStudio,添加 dev.new(width=5,height=4,noRStudioGD = TRUE)

由于 RStudio 目前(2015年9月)不支持@Shane 的公认解决方案(参见 给你) ,我想给@James Thompson 关于工作流的回答添加一条建议:

如果您使用 苏门答腊作为查看器,则不需要在更改 PDF 文件之前关闭它。Sumatra 没有将打开的文件放入只读模式,因此不能防止其被覆盖。因此,一旦用 Sumatra 打开 PDF 文件,RStudio (或任何其他 RIDE)的更改将立即显示在 Sumatra 中。

保存地图的一个方便功能是 ggsave(),它可以根据文件扩展名自动猜测设备类型,并平滑设备之间的差异。你可以保存一定的大小和单位,如下所示:

ggsave("mtcars.png", width = 20, height = 20, units = "cm")

在 R 减价中,图形大小可以通过块指定:

```{r, fig.width=6, fig.height=4}
plot(1:5)
```