2013-03-14 3 views
0

나는 간단한 플롯 호출이의 글꼴 크기를 설정하는 방법은 다음과 같습니다나는 R 플롯 기능 cdplot의 축()

cdplot(example~test) 

내가 축 더 큰 글꼴을하고 싶습니다. 그러나

cdplot(example~test, cex=2.0) 

이 작동하지 않으며 이에 대한 해결책을 찾을 수 없습니다. 글꼴 크기를 늘리려면 어떻게해야합니까?

답변

8

사용 par 기능 문제를 회피 : ?cdplot의 인수 섹션에서

#example data from ?cdplot: 
fail <- factor(c(2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 
       1, 2, 1, 1, 1, 1, 1), 
       levels = 1:2, labels = c("no", "yes")) 
temperature <- c(53, 57, 58, 63, 66, 67, 67, 67, 68, 69, 70, 70, 
       70, 70, 72, 73, 75, 75, 76, 76, 78, 79, 81) 

#save old parameters 
old.par <- par(no.readonly = TRUE) 
#change only the size of axis, for axis labels use cex.lab etc, see ?par 
par(cex.axis=2) 
cdplot(fail ~ temperature) 
par(old.par) #restore old parameters 

:

BW를, N,에,에서가 ... 인수 밀도에 전달.

그리고 ?density의 인수 섹션에서

:

(기본이 아닌) 방법에 대한 추가 인수. 추가 매개 변수 " ...는"같은 cex 같은 그래픽 매개 변수로 사용하지 않는 density 기능에 의해 사용되기 때문에

그래서 당신은 cdplot(fail ~ temperature,cex.axis=2)을 사용할 수 없습니다.

+0

완벽하게 일했다. 정말 고맙습니다! – collisionTwo

+1

@agstudy 그래서 대신'par (cex.lab = 2.0)'을 설정하십시오. –

+2

@agstudy 물론 맞습니다.'par (cex.axis = 2)'는 축 눈금 레이블을 위해 그것을 할 것이고'par (cex.lab = 2)'는 축 레이블을 위해 그것을 할 것입니까? –

3

또 다른 대안은 cdplot 함수를 해킹하여 cex.axis으로 설정하는 것입니다. 하지만 해킹 기능을 권장하지는 않습니다. 여기는 간단한 기능입니다. Myabe는 패키지 관리자에게 연락하여 축 글꼴 기능을 추가하는 것이 좋습니다. 사용 getS3method('cdplot','default')

당신은 함수 소스를 얻을 당신은이 줄을 변경 :

Axis(xorig, side = 1,cex.axis=cex.x) 
equidist <- any(diff(y1[, 1L]) < tol.ylab) 
if (equidist) 
    axis(2, at = seq.int(1/(2 * ny), 1 - 1/(2 * ny), 
          by = 1/ny), labels = yaxlabels, tick = FALSE,cex.axis=cex.y) 
else axis(2, at = (y1[-1L, 1L] + y1[-NROW(y1), 1L])/2, 
       labels = yaxlabels, tick = FALSE,cex.axis=cex.y) 

나는 새로운 기능을 가진 새로운 gist을 만들 수 있습니다. 예를 들어

:

my.cdplot(y=fail ,x=temperature,cex.x=2,cex.y=3) 

enter image description here