2012-02-20 11 views
9

legend()に電話をかけたときにRが作成する凡例には、左側にシンボル(またはラインタイプなど)が、右側にラベルが付きます。他の方法、つまり左のラベル(右揃え)と右のシンボルを丸めます。Rの凡例にあるラベルとシンボルを交換するにはどうすればよいですか?

私はadjを使ってラベルの位置を調整できますが、これでは正しく整列していないことがわかりました。たとえば、adj=2と設定すると、ラベルはシンボルの左側にありますが、テキストの末尾がシンボルと揃っていません。

標準のlegend()機能またはパッケージのいずれかを使用してこれを行う方法に関するすべての参考になります。

答えて

13

あなたがtrace = TRUEを設定し、出力を保存する場合は、凡例を描画することができますし、右の位置合わせのためのpos = 2を設定し、traceによって与えられた座標を使用してtext()にコールしてラベルを追加します。ここでは例です:

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

関連する問題