繁体   English   中英

R par(omd)不包含在mfrow中

[英]R par(omd) does not contain within mfrow

我想在情节的两个单独的空间中出现两个情节,所以我这样做:

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)

问题是第二个图显示在第一个图的顶部。 如何避免此保证金问题?

也许尝试使用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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM