1

我想在par(mfrow=c(2,2))..中绘制以下四个

layout(matrix(1:2,ncol=1),widths=1,heights=c(2,2),respect=FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
plot(rnorm(100),main="Hi",type='l',ylab='',xaxt='n')
par(mar = c(4.1, 4.1, 0, 2.1))
plot(rnorm(100),main="",xlab="Hi",type='l',ylab='')

因此,我要寻找的是总共 8 个地块;上述双地块的 4 个瓷砖。然而,如果我在上面加上 par(mfrow=c(2,2)) 并运行上面四次,它每次都会简单地生成一个新图,覆盖对mfrow.

如何调整上面的代码以使其适用par(mfrow=c(2,2))

4

1 回答 1

2

直接使用正确的layout,你不需要累积它par(mfrow=...)

layout(matrix(1:8,ncol=2))
par(mar = c(0, 4.1, 4.1, 2.1))
plot(rnorm(100),main="Hi1",type='l',ylab='',xaxt='n')
par(mar = c(4.1, 4.1, 0, 2.1))
plot(rnorm(100),main="",xlab="Hi1",type='l',ylab='')

par(mar = c(0, 4.1, 4.1, 2.1))
plot(rnorm(100),main="Hi2",type='l',ylab='',xaxt='n')
par(mar = c(4.1, 4.1, 0, 2.1))
plot(rnorm(100),main="",xlab="Hi2",type='l',ylab='')

par(mar = c(0, 4.1, 4.1, 2.1))
plot(rnorm(100),main="Hi3",type='l',ylab='',xaxt='n')
par(mar = c(4.1, 4.1, 0, 2.1))
plot(rnorm(100),main="",xlab="Hi3",type='l',ylab='')

par(mar = c(0, 4.1, 4.1, 2.1))
plot(rnorm(100),main="Hi4",type='l',ylab='',xaxt='n')
par(mar = c(4.1, 4.1, 0, 2.1))
plot(rnorm(100),main="",xlab="Hi4",type='l',ylab='')

在此处输入图像描述

如上图所示,绘制顺序与用于定义布局的矩阵顺序相同:

matrix(1:8,ncol=2)
     [,1] [,2]
[1,]    1    5
[2,]    2    6
[3,]    3    7
[4,]    4    8
于 2013-10-17T11:41:43.280 回答