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

예를 들면 다음과 같습니다이다
관련 문제