티스토리 뷰
반응형
오늘은 파이차트(원모양의 그래프, 원그래프) 혹은 가운데가 비어있는 도넛차트를 만들어보려 한다. 기본 데이터셋인 mtcars 를 활용해서 우선 bar 차트를 만들어야 한다. 여기서 중요한건, factor 로 x축을 만들면 안되고, 숫자형으로 정의 되어야 한다. 만들고나면 화면에 꽉찬 막대그래프가 그려진다.
library(tidyverse)
ggplot(mtcars, aes(x = 1, fill = factor(cyl))) +
geom_bar()
원형그래프(Pie chart)
아까 만든 막대그래프를 원형으로 돌돌 말아본다고 생각하면 쉽다. coord_polar 로 무슨 축을 기준으로 원형으로 표현할지 정한다. 손쉽게 파이차트(원그래프)가 만들어진다.
ggplot(mtcars, aes(x = 1, fill = factor(cyl))) +
geom_bar() +
coord_polar(theta = "y")
반응형
도넛 그래프
사실 요새 보면 꽉차있는 원그래프 보다는 가운데가 비어있는 도넛그래프가 더 많이 보이는 듯 하다. 가운데를 비우기 위해서는 xlim 을 이용해서 x 축을 일부려 늘이면, 전체 그림에서 bar 차트가 차지하는 영역이 적어진다. 그걸 이용하게 되면 도넛모양이 생기게 된다.
ggplot(mtcars, aes(x = 1, fill = factor(cyl))) +
geom_bar() +
coord_polar(theta = "y") +
xlim(c(-3, 1.5))
이제 마지막으로 불필요한 축과 정보를 지우고, 범례(legend)를 하단에 배치하는 등 스타일을 정리한다.
ggplot(mtcars, aes(x = 1, fill = factor(cyl))) +
geom_bar() +
coord_polar(theta = "y") +
xlim(c(-3, 1.5)) +
theme_minimal(base_family = "Apple SD Gothic Neo") +
labs(fill = "Number of cylinders", title = "Motor Trend Car Road Tests") +
theme(axis.text.y = element_blank(),
axis.text.x = element_text(size = 12),
legend.text = element_text(size = 10),
legend.title = element_text(size = 10),
legend.position = "bottom",
legend.margin = margin(-.7,0,0.2,7, unit = "cm"),
plot.title = element_text(size = 15, hjust = 0.5,
margin = margin(0.3, 0, 0.3, 0, unit = "cm")),
axis.title.x = element_blank(),
axis.title.y = element_blank()) +
scale_fill_brewer(palette = "PuRd")
완성이다. 타이틀을 넣고 위치조정하였고, 색상이나, 불필요한 선도 없애면 더 깔끔한 도넛차트가 나올 듯 하다. 담에는 백분율 정보를 텍스트로 추가해서 가독성있게 정리를 다시 해볼 예정이다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ggplot2
- ubuntu
- 자급제폰
- vagrant
- R
- SVN
- Google Chart Tools
- 이클립스
- 셀프개통
- docker
- MongoDB
- java
- Spring
- github
- javascript
- Oracle
- python
- ggplot
- 아이맥
- MyBatis
- 막대그래프
- ipTIME
- heroku
- 알뜰요금제
- 도넛차트
- 맥북
- ktm모바일
- MySQL
- eclipse
- 마인크래프트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함