ggplot2에서 축 제목 및 레이블 크기 변경


146

나는 정말로 간단한 질문을 가지고 있는데, 그 답을 찾기 위해 고심하고 있습니다. 나는 여기 누군가가 나를 도울 수 있기를 바랐다.

데이터 프레임의 예는 다음과 같습니다.

a <- c(1:10)
b <- c(10:1)
df <- data.frame(a,b)
library(ggplot2)
g = ggplot(data=df) + geom_point(aes(x=a, y=b)) +
  xlab("x axis")
g

축 제목과 축 레이블의 텍스트 크기를 변경하는 방법을 배우고 싶습니다.

답변:


313

인수 axis.text=axis.title=함수로 축 텍스트와 레이블 크기를 변경할 수 있습니다 theme(). 예를 들어 x 축 제목 크기 만 변경하려면을 사용하십시오 axis.title.x=.

g+theme(axis.text=element_text(size=12),
        axis.title=element_text(size=14,face="bold"))

ggplot2 page 에 다른 theme()매개 변수 설정에 대한 좋은 예가 있습니다 .


8
매우 직관적 인 기능도 rel()있습니다. 예 :size = rel(2.0)
HongboZhu

2
어떻게 하나가 변경됩니다 labs(x = "x axis")텍스트 크기를 하지 않고 x 축 눈금의 값을 변경?
baxx

53

나는 이것을하는 더 좋은 방법은 base_size논쟁 을 바꾸는 것이라고 생각합니다 . 텍스트 크기가 일관되게 증가합니다.

g + theme_grey(base_size = 22)

여기에서 볼 수 있듯이 .


5
이미 다른 theme인스턴스가있는 경우 충돌이 발생할 수 있습니다.
Adam Erickson

10

많은 그래프를 작성하는 경우 제목과 텍스트의 크기를 제어하는 ​​코드 줄을 각 그래프에 입력하는 데 지칠 수 있습니다. 내가 일반적으로하는 일은 원하는 테마 특성을 정의한 객체 ( "테마" "gg"클래스)를 만드는 것입니다. 코드 시작 부분에 그렇게 할 수 있습니다.

My_Theme = theme(
  axis.title.x = element_text(size = 16),
  axis.text.x = element_text(size = 14),
  axis.title.y = element_text(size = 16))

다음으로 My_Theme를 그래프에 추가하기 만하면됩니다.

g + My_Theme
다른 그래프 g1이 있다면 다음과 같이 작성하십시오.
g1 + My_Theme 
등등.

4

모든 텍스트 요소의 크기를 한 곳에서 동시에 동 기적으로 변경하는 rel()것은 매우 효율적입니다.
g+theme(text = element_text(size=rel(3.5))

최적의 결과를 얻으려면 숫자를 약간 조정해야 할 수 있습니다. 가로 및 세로 축 레이블과 제목 및 기타 텍스트 요소를 모두 동일한 배율로 설정합니다. 한 가지 예외는 패싯 그리드 제목이며, 예를 들어 x 및 y 패싯이 모두 그래프에 사용되는 경우 동일한 값으로 수동 설정해야합니다.
theme(text = element_text(size=rel(3.5)), strip.text.x = element_text(size=rel(3.5)), strip.text.y = element_text(size=rel(3.5)))

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.