R - ggplot2
by Kim
유명한 시각화 라이브러리 ggplot2
를 이용하여 시각화를 진행해보겠습니다.
시각화 연습
#ggplot2 불러오기
library(ggplot2)
#mpg데이터를 이용한 시각화
ggplot(data=mpg, aes(x=displ, y=hwy, color = drv))+
#산점도 추가
geom_point(size = 5)+
#x축, y축 범위 지정
xlim(3,6)+
ylim(10,30)
dplyr에서 각각 옵션들을 각각 옵션을 %>%
로 잇듯이 여기서는 +
로 잇습니다. x축에는 displ, y에는 hwy로 지정 후 drv에 따라 색깔이 달라지는 산점도 시각화를 진행하였습니다. 산점도를 추가하는 geom_point에서 size 옵션에서 점의 크기를 지정할 수 있습니다.
위 스크립트를 이용한 시각화 이미지입니다. 연습을 위한 스크립트이기 때문에 큰 의미는 없습니다.
막대 그래프
library(dplyr)
df.mpg = mpg %>%
group_by(drv) %>%
summarise(mean_hwy=mean(hwy))
ggplot(data=df.mpg, aes(x=drv, y=mean_hwy))+
geom_col()
ggplot(data=df.mpg, aes(x=reorder(drv, -mean_hwy), y=mean_hwy))+
geom_col()
이번에는 mpg 데이터를 이용하여 구동방식별 고속도로 연비를 시각화하였습니다. 연비의 내림차순으로 x축을 전달하기 위해 reorder를 사용했습니다.
빈도 막대 그래프
mpg 데이터에서 구동방식(drv)의 빈도 막대그래프를 그리는 스크립트입니다.
ggplot(data = mpg, aes(x=drv)) +
geom_bar(
mapping = aes(
x=drv, fill=drv
)
)+
theme(legend.position = "bottom")+
scale_fill_manual(
values = c("red", "green", "blue"),
name = "구동방식",
labels = c("4륜","전륜","후륜")
)+
labs(
x="drv(구동)",
y="count(빈도)",
title="구동별 빈도 수 분석",
subtitle = "막대그래프",
caption = "출처 : 제작팀"
)+
geom_text(
stat = "count",
aes(label=..count..),
position = position_dodge(width=1.8),
vjust=-0.5
)+
ylim(c(0,120))
각 방식에 따라 색을 변경하였고 범례는 하단에 배치하였습니다. 범례 제목은 구동방식, 색깔은 빨강, 초록, 파랑으로 설정했습니다. x축 제목은 drv(구동), y축 제목은 count(빈도)이며 제목과 부제, 그리고 출처 표기는 스크립트에서 확인할 수 있습니다. 그 다음에는 각 구동방식별 갯수를 막대 위에 표시하였습니다.
제조사별 연비
mpg 데이터에서 차종이 suv인 자동차의 제조사별 평균 연비를 시각화하는 스크립트입니다. 가장 연비가 높은 5개의 회사만 뽑아서 진행하였습니다.
ggplot(data=mpg %>% filter(class=='suv') %>%
group_by(manufacturer) %>%
summarise(mean_cty = mean(cty)) %>%
arrange(desc(mean_cty)) %>%
head(5),
aes(x=reorder(manufacturer, -mean_cty),
y=mean_cty,
fill =reorder(manufacturer, -mean_cty)))+
geom_col(mapping = aes(x=reorder(manufacturer, -mean_cty)))+
geom_text(
aes(label = round(mean_cty,2)),
vjust = 2.2, colour= 'white'
)+
labs(
x="회사명",
y="도시연비",
title="회사별 도시연비"
)+
theme(plot.title = element_text(
family = "serif",
face = "bold",
hjust = 0.5, size = 15, color = "darkblue"))+
guides(fill = 'none')
mpg 데이터에서 상위 5개의 데이터만 출력 후 제조사와 평균 연비를 각각 x축, y축에 배치했습니다. 평균 연비를 소숫점 반올림 하였으며 글씨 색상은 흰색으로 설정했습니다. 다음은 x축, y축 및 제목을 입력하였고 제목의 서식을 변경하였습니다.
Subscribe via RSS