2013-02-15 2 views
4

일부 데이터를 나타 내기 위해 14 개 열의 barplot을 만들고 있는데 불행히도 vertical lables로 표시하기 위해 names.arg 옵션을 설정했습니다. 이로 인해 새로운 세로 lables가 "sub"및 "xlab"과 겹치게되었습니다 "옵션이 있습니다. 어떻게 이런 일이 일어나지 않도록합니까? 명령에서 볼 수barplot design issues

par(mar=c(6, 5, 4,7.5)) 
barplot(x, main=paste("title1 \n","subtitle"), 
names.arg=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14),las=2, sub=("overlapping text1"), 
xlab="overlapping text2", col = c("red2","darkorange3")) 

내 마음에 또 다른 질문, 나는 "주"에 2 줄의 제목을 사용하고 있습니다 :

여기 내 명령입니다. 첫 번째 줄을 같은 형식으로 유지하면서 두 번째 줄 글꼴을 더 작게 만들 수 있습니까?

감사합니다,

답변

8

하나의 솔루션 타이틀 중 하나의 글꼴 크기를 변경하려면 다른 cex= 값을 다른 라인에 기능 mtext()의 두 통화를 사용하고 barplot()에서 main=을 제거하는 것입니다. 텍스트 겹치기 문제를 해결하려면 xlab=sub= 대신 mtext()을 사용할 수도 있습니다. line=을 찾고 플롯 주변의 공간을 늘려야 만 par(mar=..)이됩니다.

x<-sample(letters[1:14],300,replace=TRUE) 
par(mar=c(9,3,5,2))  
barplot(table(x), 
     names.arg=paste0("very_long_",1:14),las=2, 
     col = c("red2","darkorange3")) 
mtext(side=3,"Title1",line=2,cex=2) 
mtext(side=3,"subtitle",line=1,cex=1.5) 

mtext(side=1,"overlapping text1",line=6) 
mtext(side=1,"overlapping text2",line=7) 

enter image description here

+0

답변 해 주셔서 감사합니다. 제목은 이제 잘 작동합니다. 겹쳐진 텍스트가 나에게 효과적이지 않아서 진드기를 치웠다. 참고 : barplot 함수를 적용하기 전에 par()를 사용하여 치수를 계산 했으므로 맨 아래에서 mtext가 작동하지 않는 이유는 무엇입니까? 내 팔 기능을 보려면 편집을 참조하십시오. 참고 : 측면 1의 줄을 20 줄 및 줄 30 줄에 겹쳐 쓰려고했습니다. – Error404

+1

par (mar = c (9, 5, 5,7.5))와 같이 전체 텍스트가 플롯 창에 맞을 때까지 par (mar = ...)의 숫자를 증가시켜야합니다. –

+0

하나님! 미안! par() 함수에서 첫 번째 매개 변수 대신 두 번째 매개 변수를 조정했습니다. 많은 감사합니다 :) 지금은 모두 잘 작동합니다. – Error404

2

보는 또 다른 옵션은 plotrix 패키지의 staxlab 기능입니다.

또한 축 제목의 기본 배치를 설정하는 방법에 대한 par 함수의 인수는 mgp입니다.