2012-10-08 2 views
2

20 개의 그림을 그리고 각 그림에 범례를 가로로 배치해야합니다. 내가 시도한 두 번째 플롯에 대한 다음그래프에서 범례 벡터의 길이에 따라 범례의 텍스트 크기를 변경하십시오.

plot(x=1:4,y=1:4) 
legend("bottom",legend = c("a","b","c","d"),horiz=TRUE,text.font=2,cex=0.64) 

:

나는 첫 번째 플롯에 대해 다음 명령을했다

plot(x=1:2,y=1:2) 
legend("bottom",legend = c("a","b"),horiz=TRUE,text.font=2,cex=0.64) 

그러나 전설 인수에 전달 된 문자 벡터의 크기가 다르기 때문에 나는 다른 전설의 크기를 얻는다.

전설의 크기가 다양한 여러 가지 플롯을 그려야하므로 자동화 된 방식으로 처리하려고합니다.

모든 플롯에서 범례의 크기를 수정하고 그래프 크기에 맞출 수있는 방법이 있습니까? 처음에

+0

귀하의 질문이 명확하지 충분합니다. 범례 상자의 크기를 일정하게하고 싶다면 범용 텍스트의 N 값이 해당 상자 안에 들어갈 수 있도록 텍스트를 줄이십시오. 그렇다면 변수를 mylegend <- c ("a", "b", "c"); mycex <-5/length (mylegend); 전설 (blahblah, 전설 = mylegend, cex = mycex)' –

답변

4

par(cex=.64)

op <- par(cex=.64) # this fix the legend size for all plots 
plot(x=1:4,y=1:4) 
legend("bottom",legend = c("a","b","c","d"),horiz=TRUE,text.font=2) # no need to set cex anymore 
plot(x=1:2,y=1:2) 
legend("bottom",legend = c("a","b"),horiz=TRUE,text.font=2) 
par(op) # At end of plotting, reset to previous settings 
관련 문제