我希望两个图显示在图中的两个独立空间中,所以我这样做:
par(mfrow=c(1,2))
plot(1:10,1:10)现在我希望第二个图比第一个图短大约25%,所以我调整了omd:
tmp <- par()$omd
tmp[4] <- 0.75
par(omd=tmp)
plot(1:10,1:10)问题是,第二个图显示在第一个图的顶部。我如何避免这个保证金问题?
发布于 2011-12-24 01:57:44
也许可以试着用layout代替?
layout(matrix(c(1, 1, 0, 2), ncol = 2L), widths = c(1,1),heights = c(0.5,1))
par(mar = c(3,2,2,2))
plot(1:10,1:10)
par(mar = c(3,2,2,2))
plot(1:10,1:10)

我猜也许你会想要设置c(0.2,0.8)的高度,以获得25%的折扣?
编辑
但我不认为omd做的是你想的那样。它会更改外部页边距内的区域,在设置par(mfrow = c(1,2))时,该区域将始终包括两个绘图区域。我认为你真正想要改变的是plt,它改变了当前绘图区域的大小(使用quartz,就像我在mac上一样):
quartz(width = 5,height = 5)
par(mfrow=c(1,2))
vec <- par("plt")
plot(1:10,1:10)
par(plt = vec * c(1,1,1,0.75))
plot(1:5,1:5)https://stackoverflow.com/questions/8619035
复制相似问题