我有 4 个要绘制的地图,并且想将它们绘制在一个绘图区域中,所以我使用代码
par(mfrow=c(2,2), bty="n")
然而,结果是我的地图周围有很多无用的空白区域(也变得太小了)。
下图显示了每个地图(蓝色矩形)相对于绘图区域占用了多少空间。
是否有可能从当前情况(cf. 2 x 2 plot fit)到期望的情况(cf. Desired better fit)?
我尝试更改宽度和高度参数(dev.new(width=x, height=y)
)但没有运气。
我有 4 个要绘制的地图,并且想将它们绘制在一个绘图区域中,所以我使用代码
par(mfrow=c(2,2), bty="n")
然而,结果是我的地图周围有很多无用的空白区域(也变得太小了)。
下图显示了每个地图(蓝色矩形)相对于绘图区域占用了多少空间。
是否有可能从当前情况(cf. 2 x 2 plot fit)到期望的情况(cf. Desired better fit)?
我尝试更改宽度和高度参数(dev.new(width=x, height=y)
)但没有运气。
我建议使用该layout
功能,尽管使用par
也很好。我在下面给出了一个简单的示例,您可以在其中调整par(mar=c())
每个绘图的设置,使它们更接近。layout
允许您使用参数调整绘图的相对高度height
,当您仅将 x 轴用于较低层绘图时,这在尝试使面板绘图具有相同高度时可能很有用。
y=runif(100)
x=runif(100)
layout(matrix(c(1,2,3,4), byrow=TRUE, ncol=2,nrow=2))
par(mar=c(3,3,0.5,0.5))
plot(y,x, xaxt='n')
par(mar=c(3,3,0.5,0.5))
plot(y,x, xaxt='n')
par(mar=c(3,3,0.5,0.5))
plot(y,x)
par(mar=c(3,3,0.5,0.5))
plot(y,x, yaxt='n')