2011-08-30 70 views
10

我知道这对于你们中的一些人来说会很快捷和简单。我只想使用mtext()有一个水平的y轴标签。它与我的猜测有关,但我一直在浪费最后2个小时试图弄清楚它...... 在下面的例子中,我只是希望y标签(myLab)是水平的并且左对齐。mtext()添加横向y标签

myLab <- c("aaaaaaa", "bb", "c") 

par(oma=c(0,10,0,0)) # make a large left maring for the labels 

plot(x=c(1:3), 
    y=c(1:3), 
    pch="|", 
    lwd=3, 
    tck=0.01, 
    yaxt="n", 
    ylab="", 
    xlab="my legend", 
    at= c(1:3), 
    ) 


mtext(text=myLab, 
     side=2, 
     outer = FALSE, 
     at=c(1:3) 
    ) 

我不需要使用mtext()。如果你有更好的选择,请告诉我。

谢谢!

回答

9

使用拉斯维加斯的说法:

mtext(text=myLab, las=1, 
     side=2, 
     outer = FALSE, 
     at=c(1:3) 
     ) 

带给他们直到边缘,但你可以垫在myLab值尾部的空格。您可以使用左侧的0的adj价值(与之相对的默认值1)证明:

plot(x=c(1:3), 
     y=c(1:3), 
     pch="|", 
     lwd=3, 
     tck=0.01, 
     yaxt="n", 
     ylab="", 
     xlab="my legend" # removing extraneous `at` value that only throws a warning 
    ) 
mtext(text=myLab, las=1, adj=0, 
     side=2, 
     outer = FALSE, 
     line=3.5, at=1:3 
     ) 
+0

对于诸如此类的问题,我有'par'我的快速拨号? –

+0

使用line = 1将其从边缘而不是尾随空格移开。 – Olivier