【问题标题】:mtext y-axis label that covers a two-tile plotmtext y 轴标签,覆盖两个平铺图
【发布时间】:2013-10-17 09:15:51
【问题描述】:

如何使用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='')

【问题讨论】:

    标签: r plot label axis


    【解决方案1】:

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

    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 参数将所有标签变为水平。它使阅读更容易,并向您的观众展示您知道您的阴谋:)

    【讨论】:

      猜你喜欢
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多