我想在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))
?
答案 0 :(得分: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