ggplot2 theme에서 사용자 정의 – 고급 테마 설정법

데이터 시각화에서 정보 전달만큼 중요한 것이 시각적 매력입니다. ggplot2 theme 옵션을 통해 그래프의 배경, 글꼴, 색상을 사용자 맞춤형으로 설정할 수 있어요.

이번 포스트에서는 기본 설정을 넘어, 데이터를 더욱 돋보이게 하는 고급 테마 설정법을 단계별로 안내해 드리겠습니다. 처음 ggplot2 패키지를 접하신 분도 따라할 수 있도록 자세히 설명해 드릴게요.

ggplot2 theme 설정의 필요성

ggplot2의 기본 테마는 깔끔하고 효율적이지만, 보다 고유한 스타일로 설정하고 싶을 때가 많습니다. 발표용 그래프, 보고서용 그래프 등 각 용도에 맞게 테마를 커스터마이징하면 데이터가 한층 더 돋보이게 됩니다.

1. 기본 테마 설정 살펴보기

ggplot2는 여러 기본 테마 옵션을 제공하여 스타일을 간단히 바꿀 수 있습니다. 대표적인 기본 테마들을 살펴보겠습니다. #미니멀/클래식/다크 테마 작용 부분을 실행하면 코드 설명 부분 아래 쪽의 그림과 같은 그래프가 순서대로 나타납니다.

# 라이브러리 로드
library(ggplot2)
library(showtext)

#그래프 한글 표시하기
showtext_auto()

# 예제 데이터 생성
data <- data.frame(
  x = rnorm(100),
  y = rnorm(100)
)

# 기본 테마 예제
p <- ggplot(data, aes(x = x, y = y)) +
  geom_point() +
  labs(title = "minimal theme")

p + theme_minimal()  # 미니멀 테마 적용

p + theme_classic()  # 클래식 테마 적용

p + theme_dark()     # 다크 테마 적용

코드 설명:

  • theme_minimal(): 배경을 간단히 하고 그리드 선을 유지한 미니멀 테마를 적용합니다.
  • theme_classic(): 전통적인 흰색 배경과 축만 보이는 클래식 테마를 사용합니다.
  • theme_dark(): 배경이 검정색인 다크 테마로, 데이터 포인트가 강하게 부각됩니다.
ggplot2 theme - minimal theme
( minimal theme )
ggplot2 theme - classic theme
( classic theme )
ggplot2 theme - classic theme
( theme_dark )

2. theme() 함수로 사용자 정의 테마 설정하기

이제 theme() 함수를 사용하여 ggplot2 테마를 완전히 커스터마이징해 보겠습니다. 그래프 배경, 그리드 선, 축 제목 등 다양한 요소를 설정할 수 있습니다.

# 사용자 정의 테마 적용
p + theme(
  panel.background = element_rect(fill = "lightgray"),
  plot.title = element_text(size = 16, face = "bold"),
  axis.title = element_text(size = 14, face = "italic"),
  axis.text = element_text(color = "blue"),
  panel.grid.major = element_line(color = "white", size = 0.5),
  panel.grid.minor = element_blank()
)

코드 설명:

  • panel.background = element_rect(fill = “lightgray”): 패널 배경을 밝은 회색으로 설정합니다.
  • plot.title = element_text(size = 16, face = “bold”): 그래프 제목을 볼드체로, 크기를 16으로 설정합니다.
  • axis.title = element_text(size = 14, face = “italic”): 축 제목을 이탤릭체로 설정하고 크기를 14로 조정합니다.
  • axis.text = element_text(color = “blue”): 축 레이블 색상을 파란색으로 설정합니다.
  • panel.grid.major = element_line(color = “white”, size = 0.5): 주요 그리드 선을 흰색으로 얇게 설정합니다.
  • panel.grid.minor = element_blank(): 보조 그리드 선을 제거합니다.
customized theme
( customized theme )

3. theme_void()로 배경 없는 그래프 만들기

마지막으로, 배경과 축을 모두 제거한 깨끗한 그래프를 theme_void()를 통해 만들어 보겠습니다. 로고 디자인이나 발표 자료에 활용하기 좋습니다.

# 배경 없는 그래프
p + theme_void() +
  labs(title = "배경 없는 테마 예제")

코드 설명:

  • theme_void(): 모든 배경, 축, 그리드 등을 제거하여 그래프 데이터만 돋보이게 합니다.
theme_void()

마무리: ggplot2 theme을 통해 스타일을 완성하세요!

이제 ggplot2 theme 옵션을 통해 그래프의 스타일을 마음껏 커스터마이징할 수 있습니다. theme() 함수를 사용하여 배경, 글꼴, 색상을 조정하면 그래프의 시각적 매력을 극대화할 수 있습니다. 다음 포스트에서는 ggplot2의 상호작용 기능에 대해 소개할 예정이니, 더욱 다채로운 시각화를 기대해 주세요!

유사한 게시물