2012-02-20 73 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

相關問題