2012-02-20 72 views
9

当您拨打legend()时,R创建的图例在左侧具有符号(或线型等),右侧为标签。我反过来想要它,即左侧的标签(右对齐)和右侧的标签。如何在R中的图例中交换标签和符号?

我知道我可以使用adj来调整标签的位置,但是由于它们不再适当地对齐。例如,如果我设置了adj=2,则标签位于符号的左侧,但文本的末尾未与符号对齐。

有关如何使用标准legend()函数或程序包执行此操作的任何指示器将不胜感激。

回答

13

如果设置trace = TRUE,然后保存输出,可以得出图例,然后通过调用添加标签使用trace给出的坐标text(),右对齐设置pos = 2。这里有一个例子:

set.seed(1) 
    plot(1:10,runif(min=0,max=10,10),type='l',ylim=c(0,10),xlim=c(0,10),col=1) 
    lines(1:10,runif(min=0,max=10,10),col=2,lty=2) 
    lines(1:10,runif(min=0,max=10,10),col=3,lty=2) 
    a <- legend(1,10,lty=1:3,col=1:3,legend=c("","",""),bty="n",trace=TRUE) 
    text(a$text$x-1,a$text$y,c("line 1","line 2","line 3"),pos=2) 

enter image description here

相关问题