我如何创建一个新的屏幕上的 R 图窗口具有特定的宽度和高度(像素等) ?
这取决于你使用的设备。如果你使用的是 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()(见 这个相关的问题)
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)
dev.new(width=5,height=4,noRStudioGD = TRUE)
由于 RStudio 目前(2015年9月)不支持@Shane 的公认解决方案(参见 给你) ,我想给@James Thompson 关于工作流的回答添加一条建议:
如果您使用 苏门答腊作为查看器,则不需要在更改 PDF 文件之前关闭它。Sumatra 没有将打开的文件放入只读模式,因此不能防止其被覆盖。因此,一旦用 Sumatra 打开 PDF 文件,RStudio (或任何其他 RIDE)的更改将立即显示在 Sumatra 中。
保存地图的一个方便功能是 ggsave(),它可以根据文件扩展名自动猜测设备类型,并平滑设备之间的差异。你可以保存一定的大小和单位,如下所示:
ggsave()
ggsave("mtcars.png", width = 20, height = 20, units = "cm")
在 R 减价中,图形大小可以通过块指定:
```{r, fig.width=6, fig.height=4} plot(1:5) ```