ggplot 패키지 시각화에 아주 많이 활용되는 패키지로 좀 더 고품질의 그래픽을 활용하고자 한다면 필수적으로 알아두어야 한다. ggplot의 gg는 Grammar of Graphics(그래픽 문법)라는 의미로, 플롯팅 이론과 표기 체계를 규정하여 모든 그래프를 작성할 수 있다는 아이디어에서 착안하였다.
이번 포스팅에서는 ggplot으로 가장 기본적인 플롯인 산점도(scatter plot), 히스토그램, 막대그래프, 선 그래프, 상자 수염(boxplot)에 대해서 다루고 다음 포스팅에서 ggplot을 활용한 좀 더 다양한 형태의 그래프를 그려보는 연습을 할 것이다.
ggplot은 기본적으로 다음과 같이 구성되어 있다.
구성요소 | 설명 |
데이터(Data) | 시각화 하고자 하는 데이터 |
미적 요소(Aesthetics) | 축, 색상, 모양, 크기등 그래프의 미학적/시각적 속성 |
기하학적 객체(Geometries) | 데이터를 표현하는 도형/형태 점, 선, 막대, 박스플롯 등 |
Faceting | small multiples |
따라서 아래와 같은 기본적인 문법 구성이 이루어진다.
ggplot(data, aes( )) + geom_함수( )
# 혹은
ggplot( ) + geom_함수(data, aes( ))
1. geom_point 함수
geom_point 함수는 산점도를 그릴 수 있고, 기본 문법 형식으로만 작성하면 된다.
library(ggplot2)
ggplot(culture.df, aes(x = 음악.및.무용발표회.관람,
y = 전통예술공연.관람,)) + geom_point(color='darkblue')
2. geom_histogram 함수
geom_histogram 함수는 히스토그램을 그릴 수 있고, 기본 문법 형식만 지키면 된다.
# histogram
ggplot(culture.df, aes(x = 스포츠경기.관람)) +
geom_histogram(binwidth = 5000)
# 참고용 quick plot
qplot(data = culture.df, x = 스포츠경기.관람, geom="histogram",
binwidth = 5000)
3. geom_bar 함수
geom_bar 함수는 막대그래프를 그릴 수 있다.
# bar
ggplot(diamonds, aes(color)) + geom_bar()
4. geom_line 함수
geom_line 함수는 선 그래프를 그릴 수 있다.
ggplot(amtrak.df, aes(x = Month, y = Ridership, group = 12))
+ geom_line()
5. geom_boxplot 함수
geom_boxplot 함수는 상자 수염 그래프(박스플롯)을 그릴 수 있다.
ggplot(data = loan, aes(x = grade, y = int_rate, group = grade)) + geom_boxplot()
여기까지 R에서 ggplot 패키지의 시각화 함수 사용을 연습해보았다.
추가로 ggplot2에서 제공하는 치트시트(cheatsheets)가 있어서 공유하고자 한다.
https://github.com/rstudio/cheatsheets/blob/main/data-visualization-2.1.pdf
'[R] 연습' 카테고리의 다른 글
R 기초 프로그래밍 (0) | 2022.04.15 |
---|---|
[R] 지터링(jitter) (0) | 2022.02.06 |
[R] 시각화(graphics 패키지편) (0) | 2022.01.22 |
[R] 기초 문법 4 (0) | 2022.01.16 |
[R] 기초 문법 3 (0) | 2022.01.15 |