데이터 다루기/데이터 시각화
[R을 활용한 시각화] 1. ggplot2 (Barplot) (2)
분석벌레
2020. 11. 25. 01:52
728x90
반응형
이번 포스팅에서는 ggplot2 패키지를 활용해서 다양한 그룹이 있는 Barplot을 그려보도록 하겠습니다.
1. 실습 데이터 정의
### Data definition (multiple groups)
df2 <- data.frame(supp=rep(c("VC", "OJ"), each=3),
dose=rep(c("D0.5", "D1", "D2"),2),
len=c(6.8, 15, 33, 4.2, 10, 29.5))
head(df2)
<< Result >>
supp dose len
1 VC D1 6.8
2 VC D2 15.0
3 VC D3 33.0
4 OJ D1 4.2
5 OJ D2 10.0
6 OJ D3 29.5
이번 데이터는 두 개의 그룹을 가지고 있습니다.
이런 경우 Bargraph를 어떻게 그릴 수 있을까요??
2. 패키지 불러오기
library(ggplot2)
library 함수를 통해 먼저 ggplot2 패키지를 불러왔습니다.
3. Bargraph 꾸미기
# Stacked barplot with multiple groups
ggplot(data=df2, aes(x=dose, y=len, fill=supp)) +
geom_bar(stat="identity", width = 0.5)
# Use position=position_dodge()
ggplot(data=df2, aes(x=dose, y=len, fill=supp)) +
geom_bar(stat="identity", position=position_dodge())
두 개의 group 변수가 있는 경우, 2가지 방식으로 그릴 수 있습니다.
아무런 함수를 입력해주지 않으면 첫번째 그래프처럼 하나로 합쳐져서 그려집니다.
position = position_dodge() 인자를 추가해주시면, 분리되서 그려집니다.
# Change the colors manually
p <- ggplot(data=df2, aes(x=dose, y=len, fill=supp)) +
geom_bar(stat="identity", color="black", position=position_dodge())+
theme_minimal()
# Use custom colors
p + scale_fill_manual(values=c('#999999','#E69F00'))
마찬가지로 색깔을 마음대로 지정할 수 있답니다.
(1) 값 라벨링
### Labeling
ggplot(data=df2, aes(x=dose, y=len, fill=supp)) +
geom_bar(stat="identity", position=position_dodge())+
geom_text(aes(label=len), vjust=1.6, color="red",
position = position_dodge(0.9), size=8)+
scale_fill_brewer(palette="Paired")+
theme_minimal()
geom_text로 dodge 된 그래프에 labeling을 진행할 수 있습니다.
반응형