BBC Japan’s cherry blossom ‘earliest peak since 812’ 기사에 따르면 일본에서 벗꽃 개화시기를 기록한 812년 이후 올해가 가장 개화시기가 빠르다고 한다.
일본 벗꽃 개화 데이터는 Historical Series of Phenological data for Cherry Tree Flowering at Kyoto City 웹사이트에서 얻을 수 있다.
library(tidyverse)
library(rvest)
"http://atmenv.envi.osakafu-u.ac.jp/aono/kyophenotemp4/"
osaka_url <-
osaka_url %>%
cb_text <- read_html() %>%
html_nodes(xpath = '//*[@id="main"]/article/div[2]/pre') %>%
html_text()
tibble(txt = cb_text)
cb_dat <-
cb_dat %>%
cb_tbl <- mutate(text = str_split(txt, pattern = "\r\n")) %>%
unnest(text) %>%
select(text) %>%
filter(str_detect(text, "^4")) %>%
mutate(split_text = str_split(text, pattern = " +")) %>%
mutate(STNNo = map_chr(split_text, 1),
AD = map_chr(split_text, 2),
FiFD = map_chr(split_text, 3),
FuFD = map_chr(split_text, 4)) %>%
select(AD, FuFD) %>%
mutate(AD = as.integer(AD))
%>%
cb_tbl arrange(desc(AD)) %>%
reactable::reactable()
블로그 글을 참고하여 데이터 전처리 작업을 하고 벚꽃 이모지를 사용해서 ggplot에 반영한다.
library(lubridate)
library(emojifont)
cb_tbl %>%
cb_tbl <- mutate(month = str_sub(FuFD, 1,2),
day = str_sub(FuFD, 3,4)) %>%
mutate(date = make_date(year = 2000, month = month, day = day))
cb_tbl %>%
cb_gg <- mutate(sakura_emoji = emoji("cherry_blossom")) %>%
ggplot(aes(x = as.numeric(AD), y = date,
text = paste('연도 :', AD, "\n",
'날짜:', glue::glue("{month}월 {day}일")))) +
geom_point(size = 0.1) +
geom_text(aes(label = sakura_emoji, hjust = 0.5, vjust = 0.25),
family = "EmojiOne", size = 4, colour = "#FF506E") +
scale_y_date(
breaks = c("2000-03-27", "2000-04-01", "2000-04-10", "2000-04-20", "2000-05-01", "2000-05-04") %>% as.Date(),
labels = scales::date_format("%b-%d")) +
scale_x_continuous(
limits = c(800, 2020),
breaks = seq(800, 2000, 100),
labels = replace(seq(800, 2000, 100), seq(2, 12, 2), "")) +
theme_bw() +
labs(x = "",
y = "벚꽃 만개일",
title = "벚꽃 개화일을 통한 벚꽃 개화일",
subtitle = "일본 교토 서기 800년부터 2021년 까지") +
geom_smooth(method = "loess", span = 0.1, colour = "black", size = 3.5)
cb_gg
이번에는 인터랙티브 그래프로 시각화해본다.
library(plotly)
ggplotly(cb_gg, tooltip = "text")
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com