5

我正在尝试将子图与 R 拉得更近。

我在做什么基本上不重要,只是为了快速复制,这里是代码:

library(igraph)
library(plyr)

g<-graph.ring(10)
setEPS()
postscript( 'out.eps', horizontal=F, onefile=F, paper="special", fonts=c("serif", "Palatino"))

par( mfrow = c( 1, 5 ) )
for (i in 1:5){
  plot(g)
  title(main='title', cex.main=1.2)
}

dev.off() 

作为输出,我得到:在此处输入图像描述

我知道我可以将它组织成 2x3 布局,而不是 1x5,但这并不重要。问题是,每个子图之间有很多可用空间,我想将它们放置得尽可能紧凑。

有没有办法实现它?

PS这个问题听起来很相关,但实际上并非如此。

4

2 回答 2

5

您只需要添加:

par(mar = c(5,0,4,0))

调整每个图的边距。还有另一种通过设置调整边距的方法mai

于 2013-04-24T16:53:54.673 回答
2

我通常做的是在 par 中使用 omi ('c(bottom, left, top, right)') 和 plt ('c(x1, x2, y1, y2)') 参数。omi 以英寸为单位调整外边距, plt 将绘图区域的坐标作为图形区域的一部分。使用 ?par 获得更详细的解释和更多参数。

par(mfrow = c(2,3), omi=c(0.5,0.3,0,0), plt=c(0.1,0.9,0,0.7))
于 2013-04-24T17:42:23.310 回答