티스토리 뷰
반응형
ggplot2 의 geom_density 함수를 이용해서 밀도 그래프를 그려보고자 한다. 대략 아래와 같은 그래프이고, 특정값의 빈도수를 가지고 밀도를 구해 그래프를 만드는 과정이다. ggplot2 를 이용해서 아래 그림을 만들어 볼까 한다.
저번 포스팅에서 사용한 데이터를 활용해본다.
rent <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2022/2022-07-05/rent.csv')
rent_sanfrancisco1 = rent %>% filter(city == 'san francisco')
아래 코드 2줄을 실행하면 선만 있는 그래프가 그려진다.
ggplot(rent_sanfrancisco1, aes(year)) +
geom_density()
반응형
밀도함수의 x 값의 개수를 정할 수 있는데, 기본값은 512 라서, 매끄러운 곡선을 볼 수 있지만, 아래와 같이 10으로 지정하면 꺽은선 그래프와 같은 모양을 볼 수 있다.
ggplot(rent_sanfrancisco1, aes(year)) +
geom_density(n = 10)
이번에는 색을 지정하는데, colour 는 라인의 색상이고, fill 은 하위영역에 대한 색을 지정하면 된다.
ggplot(rent_sanfrancisco1, aes(year)) +
geom_density(n = 1024, colour = "#B22727", fill = "#B22727")
스타일을 좀 정리하고나면 아래와 같은 그래프를 만들 수 있다.
gplot(rent_sanfrancisco1, aes(year)) +
geom_density(aes(year, ..count..), n = 1024, colour = "#F8CB2E", fill = "#F8CB2E",
adjust = 2) +
theme_void(base_family = "AppleSDGothicNeo-ExtraBold", base_size = 10) +
theme(
legend.position = "none",
title = element_text(colour = "gray30"),
axis.text.x = element_text(margin = margin(0.2,0,0,0,"cm"), size = 12, colour = "gray30"),
plot.margin = margin(.7,1,1,1,"cm"),
plot.background = element_rect(fill = "#F1F0EA", color = "#F1F0EA")
)
마지막으로, adjust 변수를 입력하면 조금 더 완곡하거나 아니면 조금더 변동성이 드러나도록 조정할 수 있다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- MyBatis
- 막대그래프
- ggplot
- 셀프개통
- ipTIME
- vagrant
- 맥북
- Spring
- docker
- heroku
- javascript
- ktm모바일
- R
- ubuntu
- Oracle
- python
- 이클립스
- ggplot2
- java
- github
- 마인크래프트
- MySQL
- 알뜰요금제
- MongoDB
- Google Chart Tools
- eclipse
- SVN
- 자급제폰
- 도넛차트
- 아이맥
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함