티스토리 뷰

꺾은선 그래프위에 추세선을 그리는 방법을 포스팅한다. 추세선이라하면 아래와 같이 변동성이 난무하는 그래프위에서 특정 정의된 function 을 만족하는 선이나 곡선을 추가로 그리는 작업이라 보면 된다. 

 

데이터는 공공데이터포털에서 받아온 데이터를 사용했다. 지하철 역별로 승하차 통계를 받아, 건대입구역을 기준으로 아래 포맷으로 하나 만들어봤다. 아래 데이터는 주별로 해당 역의 하차인원수를 집계한 데이터셋이다. 

# A tibble: 21 × 4
   yeogmyeong  week date        total
   <chr>      <dbl> <date>      <dbl>
 1 건대입구       1 2022-01-01 302081
 2 건대입구       2 2022-01-08 321912
 3 건대입구       3 2022-01-15 327546
 4 건대입구       4 2022-01-22 324518
 5 건대입구       5 2022-01-29 219079
 6 건대입구       6 2022-02-05 295583
 7 건대입구       7 2022-02-12 296137
 8 건대입구       8 2022-02-19 292950
 9 건대입구       9 2022-02-26 286872
10 건대입구      10 2022-03-05 293634
# … with 11 more rows

 

아래 3줄을 만들면, 선그래프만 그려지는게 아니라 추세선까지 덧붙여 그려진다. method 를 지정하지 않으면 loess 가 디폴트로 수행된다.

ggplot(subway3_week, aes(date, total)) +
  geom_line() + 
  geom_smooth()

반응형

선형으로 결과를 보고 싶으면, lm 을 셋팅하면된다.

ggplot(subway3_week, aes(date, total)) +
  geom_line() + 
  geom_smooth(method = lm)

 

회색영역을 없애고 싶으면, se 를 False 로 셋팅하면 된다.

ggplot(subway3_week, aes(date, total)) +
  geom_line() + 
  geom_smooth(method = lm, se = F)

 

디자인을 어느정도 처리한 결과이다. geom_smooth 에 보면 색을 지정할 수 있는 파라메터들이 있다. colour 는 선색깔, fill 은 그 바깥쪽 회색영역의 색상을 지정하면 된다. 

ggplot(subway3_week, aes(date, total)) +
  geom_line(colour = "#006E7F", size = .7, alpha = .8) + 
  geom_smooth(method = lm, # method.args = list(degree = 2),
              se = T, formula = y ~ x, size = 1.2,
              colour = "#B22727", fill = "#EE5007",
              alpha = 0.3) +
  scale_y_continuous(limits = c(200000, 450000), 
                     breaks = seq(200000, 450000, 50000), 
                     labels = as.character(seq(20, 45, 5))) +
  theme_minimal(base_family = "AppleSDGothicNeo-ExtraBold", base_size = 13) +
  theme(panel.grid = element_blank(),
        panel.grid.major.y = element_line(colour = "gray80"),
        axis.title = element_blank(),
        plot.margin = margin(.7,1,.7,1,"cm"))
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함