R의 플롯에서 글꼴 크기를 늘리는 방법은 무엇입니까?


146

혼란 스러워요. 제목, 레이블 및 줄거리의 다른 위치에서 텍스트의 글꼴 크기를 늘리는 올바른 방법은 무엇입니까?

예를 들어

x <- rnorm(100)
hist(x, xlim=range(x), xlab= "Variable Label", 
     ylab="density", main="Title of plot", prob=TRUE, ps=30)

ps인수는 글꼴 크기를 변경하지 않지만 ?par" 도움말 에서는"텍스트의 포인트 크기 (심볼은 제외) "에 대한 것임을 나타냅니다.

또한 hist? 와 같은 플로팅 기능에서 글꼴 크기 변경을 분리 할 수 ​​있습니다 .


답변:


140

cex=1.5글꼴 크기를 150 %로 조정 하는 인수 와 같은 것을 원합니다 . 그러나 보는가 help(par)도 있기 때문에 cex.lab, cex.axis...


1
감사! "ps = 1.5"와의 차이점은 무엇입니까?
Tim

5
왜 cex = 1.5가 작동하지 않습니까? 그러나 cex.lab, cex.axis, cex.main의 관점에서 각 부분을 지정해야합니까? cex = 1.5 란 무엇입니까?
Tim

2
당신은 help(par)에 대해 읽었습니까 ps? 내가 말할 수있는 한 텍스트 관련이없는 것 같습니다.
Dirk Eddelbuettel

2
이것이 S 언어의 이전 구현과의 하위 호환성을위한 부분입니다.
Dirk Eddelbuettel

3
cex는 배율입니다. 기본값은 1입니다. 글꼴 크기를 지정해야하는 경우 "Devices", "pdfFonts", "pdf", "embedFonts 등"으로 시작하는 설명서를보다 잘 준비 할 수 있습니다.
IRTFM 5

124

따라서 기존 토론을 요약하려면

cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5

플롯에 1.5가 2, 3 등이 될 수 있으며 1이 기본값이면 글꼴 크기가 증가합니다.

x <- rnorm(100)

cex는 변경하지 않습니다

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE)

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE, 
     cex=1.5)

여기에 이미지 설명을 입력하십시오

cex.lab = 1.5, cex.axis = 1.5, cex.main = 1.5, cex.sub = 1.5를 추가하십시오.

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE, 
     cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5)

여기에 이미지 설명을 입력하십시오


2
BTW, 막대 차트에서 축을 수정하려는 경우 (예 : randomForest 또는 GBM의 가변 중요도 플롯), 사용해야합니다 cex.names(직립 위치에서 물건을 읽는 사람 인 경우에도 want las=2)
geneorama

22

" cex "는 텍스트로 플롯 할 때 내용을 변경합니다. 예를 들어, 집단적 계층 클러스터링의 플롯 :

library(cluster)
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
plot(agn1, which.plots=2)

보통 크기의 텍스트가있는 플롯을 생성합니다.

여기에 이미지 설명을 입력하십시오

그리고 plot(agn1, which.plots=2, cex=0.5)이것을 생성 할 것입니다 :

여기에 이미지 설명을 입력하십시오


직장 faces2도는 (에서 Chernoff면 )
Galled

내 예제에서 나는 적용했다 CEX 하지 플롯하지만 효과에 대한 직접 내부 객체 :plot(ci(roc(data$a, data$b, auc=TRUE, of="auc", print.auc=TRUE, print.auc.cex=1.5, plot=TRUE), of="thresholds", thresholds="best")))
태퍼

21

시행 착오에 의해 글꼴 크기를 설정하려면 다음이 필요하다고 결정했습니다.

  1. cex에서 작동하지 않습니다 hist(). 사용 cex.axis, 축에있는 번호를 cex.lab라벨에 대한.
  2. cexaxis()어느 쪽도 작동하지 않습니다 . cex.axis축의 숫자에 사용하십시오 .
  3. 을 사용하여 레이블을 설정하는 대신을 사용하여 레이블을 hist()설정할 수 있습니다 mtext(). 를 사용하여 글꼴 크기를 설정할 수 cex있지만 값 1을 사용하면 실제로 글꼴의 기본값이 1.5 배로 설정됩니다 !!! cex=2/3기본 글꼴 크기를 얻으려면 사용해야 합니다. 최소한 PDF 출력을 사용하는 Mac OS X 용 R 3.0.2의 경우입니다.
  4. pointsize에서를 사용하여 PDF 출력의 기본 글꼴 크기를 변경할 수 있습니다 pdf().

나는 R이 (a) 문서가 말한 것을 실제로 수행하고, (b) 예상되는 방식으로 행동하기를 기대하기에는 너무 논리적이라고 생각합니다.


2

축 레이블을 더 작게 만들고 싶을 때 다른 모든 것을 같은 크기로 두었습니다. 나를 위해 일한 명령은 다음과 같습니다.

par(cex.axis=0.5)

플롯 명령 이전. 다음을 넣어야합니다.

par(cex.axis=1.0)

플롯 후 글꼴이 기본 크기로 돌아가는지 확인하십시오.


2

완성도를 높이고을 사용하여 텍스트 크기를 150 % 조정 cex = 1.5하는 방법은 다음과 같습니다.

cex <- 1.5
par(cex.lab=cex, cex.axis=cex, cex.main=cex)
plot(...)
par(cex.lab=1, cex.axis=1, cex.main=1)

상용구를 줄이기 위해 이와 같은 것을 포장하는 것이 좋습니다. 예 :

plot_cex <- function(x, y, cex=1.5, ...) {
  par(cex.lab=cex, cex.axis=cex, cex.main=cex)
  plot(x, y, ...)
  par(cex.lab=1, cex.axis=1, cex.main=1)
  invisible(0)
}

다음과 같이 사용할 수 있습니다.

plot_cex(x=1:5, y=rnorm(5), cex=1.3)

...R에서 타원으로 공지되어 있으며, 기능에 추가 파라미터를 전달하는 데 사용된다. 따라서 일반적으로 플로팅에 사용됩니다. 따라서 다음과 같이 작동합니다.

plot_cex(x=1:5, y=rnorm(5), cex=1.5, ylim=c(-0.5,0.5))

1

labels = TRUE를 설정할 때 히스토그램 레이블의 글꼴을 늘리려는 경우

bp=hist(values, labels = FALSE, 
 main='Histogram',
 xlab='xlab',ylab='ylab',  cex.main=2, cex.lab=2,cex.axis=2)

text(x=bp$mids, y=bp$counts, labels=bp$counts ,cex=2,pos=3)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.