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(): 배경이 검정색인 다크 테마로, 데이터 포인트가 강하게 부각됩니다.
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(): 보조 그리드 선을 제거합니다.
3. theme_void()로 배경 없는 그래프 만들기
마지막으로, 배경과 축을 모두 제거한 깨끗한 그래프를 theme_void()를 통해 만들어 보겠습니다. 로고 디자인이나 발표 자료에 활용하기 좋습니다.
# 배경 없는 그래프
p + theme_void() +
labs(title = "배경 없는 테마 예제")
코드 설명:
- theme_void(): 모든 배경, 축, 그리드 등을 제거하여 그래프 데이터만 돋보이게 합니다.
마무리: ggplot2 theme을 통해 스타일을 완성하세요!
이제 ggplot2 theme 옵션을 통해 그래프의 스타일을 마음껏 커스터마이징할 수 있습니다. theme() 함수를 사용하여 배경, 글꼴, 색상을 조정하면 그래프의 시각적 매력을 극대화할 수 있습니다. 다음 포스트에서는 ggplot2의 상호작용 기능에 대해 소개할 예정이니, 더욱 다채로운 시각화를 기대해 주세요!