축 텍스트 줄 바꿈

일정 너비 초과 시 줄 바꾸기

ggplot2로 그래프를 그릴 때 축 텍스트가 길어 중첩되거나 잘리는 경우, 줄 바꿈을 통해 가독성을 높일 수 있습니다. 이번 포스팅에서는 축 텍스트 줄 바꿈을 간단히 설정하는 두 가지 방법을 소개합니다.

첫 번째 방법은 stringr 패키지의 str_wrap 함수를 사용하여 일정 너비를 초과하는 텍스트를 자동으로 줄 바꾸는 것입니다. 이 방법은 간단히 텍스트의 최대 너비를 지정할 수 있어 편리합니다. str_wrap 함수는 텍스트를 지정된 width 값에 따라 줄 바꿈합니다.

# 패키지 설치 및 로드
install.packages("stringr")
library(stringr)

# 축 텍스트 너비 설정
scale_x_discrete(labels = function(x) str_wrap(x, width = 8))

특정 문자 기준으로 줄 바꾸기

두 번째 방법은 sub 함수와 정규표현식을 사용하여 특정 문자(괄호, 대쉬, 쉼표 등)를 기준으로 줄 바꿈하는 것입니다. 이 방법은 특정 위치에서 줄 바꿈을 제어하고 싶을 때 유용합니다. 정규표현식에서 각 기호가 의미하는 바는 다음과 같습니다.

  • \\(: 괄호
  • \n: 줄 바꿈 문자
  • \\s: 공백 문자
# 괄호 앞 줄 바꿈
scale_x_discrete(labels=function(x) sub("\\(", "\n\\(", x))

# 대쉬 뒤 줄 바꿈
scale_x_discrete(labels=function(x) sub("-", "-\n", x))

# 대쉬 뒤 줄 바꿈 후 공백 줄 바꿈
scale_x_discrete(labels = function(x){
    y=sub("-", "-\n", x)
    sub("\\s", "\n", y)
    })