我有与拉在一起4只绘出一个汇编par(mfrow=c(2,2))
我想绘制为2以上的曲线的共同标题和用于2的下方板的共同标题被2左右地块之间居中。
这可能吗?
我有与拉在一起4只绘出一个汇编par(mfrow=c(2,2))
我想绘制为2以上的曲线的共同标题和用于2的下方板的共同标题被2左右地块之间居中。
这可能吗?
这应该工作,但是你需要玩的line
参数来得到它恰到好处:
par(mfrow = c(2, 2))
plot(iris$Petal.Length, iris$Petal.Width)
plot(iris$Sepal.Length, iris$Petal.Width)
plot(iris$Sepal.Width, iris$Petal.Width)
plot(iris$Sepal.Length, iris$Petal.Width)
mtext("My 'Title' in a strange place", side = 3, line = -21, outer = TRUE)
mtext
代表“保证金文本”。 side = 3
说,将其放置在“顶”保证金。 line = -21
表示由21行到偏移的位置。 outer = TRUE
说,这是确定以使用外边缘区域。
要在顶部加入另一个“头衔”,您可以使用,比如说,它添加mtext("My 'Title' in a strange place", side = 3, line = -2, outer = TRUE)
可以使用功能layout()
并设置其发生在两列中的两个绘图区域(见的重复数字1和3中的matrix()
然后我用plot.new()
和text()
来设置标题。 你可以用利润和高度发挥以获得更好的代表性。
x<-1:10
par(mar=c(2.5,2.5,1,1))
layout(matrix(c(1,2,3,4,1,5,3,6),ncol=2),heights=c(1,3,1,3))
plot.new()
text(0.5,0.5,"First title",cex=2,font=2)
plot(x)
plot.new()
text(0.5,0.5,"Second title",cex=2,font=2)
hist(x)
boxplot(x)
barplot(x)
相同的,但在大胆的是可以做到用title(...)
与上面相同的参数:
title("My 'Title' in a strange place", line = -21, outer = TRUE)
这里是另一种方式来做到这一点,使用line2user
从功能这个职位 。
par(mfrow = c(2, 2))
plot(runif(100))
plot(runif(100))
text(line2user(line=mean(par('mar')[c(2, 4)]), side=2),
line2user(line=2, side=3), 'First title', xpd=NA, cex=2, font=2)
plot(runif(100))
plot(runif(100))
text(line2user(line=mean(par('mar')[c(2, 4)]), side=2),
line2user(line=2, side=3), 'Second title', xpd=NA, cex=2, font=2)
这里,标题的位置比图的上缘高2线,通过所指示的line2user(2, 3)
我们通过相对于所述第二和第四曲线抵消它,由左,右边界的组合宽度的一半居中的,即mean(par('mar')[c(2, 4)])
line2user
表达来自于用户的坐标轴的偏移量(行数),并且被定义为:
line2user <- function(line, side) {
lh <- par('cin')[2] * par('cex') * par('lheight')
x_off <- diff(grconvertX(0:1, 'inches', 'user'))
y_off <- diff(grconvertY(0:1, 'inches', 'user'))
switch(side,
`1` = par('usr')[3] - line * y_off * lh,
`2` = par('usr')[1] - line * x_off * lh,
`3` = par('usr')[4] + line * y_off * lh,
`4` = par('usr')[2] + line * x_off * lh,
stop("side must be 1, 2, 3, or 4", call.=FALSE))
}