2

如何mtext(side = 2,text="y-axis")在下面的示例中为两个图块放置 y 轴标签?也就是说,我希望能够放置一个标签,而不是放置两个单独的 y 轴标签。

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='')
4

1 回答 1

8

正确的方法是添加外边距,使用par(oma=...)抑制注释,然后使用等ann=FALSE手动将它们添加到外边距中。mtext(..., outer=TRUE)

layout(matrix(1:2,ncol=1),widths=1,heights=c(2,2),respect=FALSE)
par(mar = rep(0, 4), oma=c(4, 4, 4, 2), las=1)
plot(rnorm(100), type='l', ann=FALSE, xaxt='n')
plot(rnorm(100), type='l', ann=FALSE)

title("Hi", outer=TRUE)
mtext("x-axis", 1, 3, outer=TRUE)
mtext("y-axis", 2, 3, outer=TRUE, las=0)

这是一个参考:http ://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/

还要注意las将所有标签变为水平的参数。它使阅读更容易,并向您的观众展示您知道您的阴谋:)

在此处输入图像描述

于 2013-10-17T09:24:09.120 回答