Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ####################################################################
- ### Add recession bars to ggplot graphs
- ####################################################################
- geom_recession_bars <- function (date_df_start, date_df_end) {
- recessions_df = read.table(textConnection(
- "peak, trough
- 1857-06-01, 1858-12-01
- 1860-10-01, 1861-06-01
- 1865-04-01, 1867-12-01
- 1869-06-01, 1870-12-01
- 1873-10-01, 1879-03-01
- 1882-03-01, 1885-05-01
- 1887-03-01, 1888-04-01
- 1890-07-01, 1891-05-01
- 1893-01-01, 1894-06-01
- 1895-12-01, 1897-06-01
- 1899-06-01, 1900-12-01
- 1902-09-01, 1904-08-01
- 1907-05-01, 1908-06-01
- 1910-01-01, 1912-01-01
- 1913-01-01, 1914-12-01
- 1918-08-01, 1919-03-01
- 1920-01-01, 1921-07-01
- 1923-05-01, 1924-07-01
- 1926-10-01, 1927-11-01
- 1929-08-01, 1933-03-01
- 1937-05-01, 1938-06-01
- 1945-02-01, 1945-10-01
- 1948-11-01, 1949-10-01
- 1953-07-01, 1954-05-01
- 1957-08-01, 1958-04-01
- 1960-04-01, 1961-02-01
- 1969-12-01, 1970-11-01
- 1973-11-01, 1975-03-01
- 1980-01-01, 1980-07-01
- 1981-07-01, 1982-11-01
- 1990-07-01, 1991-03-01
- 2001-03-01, 2001-11-01
- 2007-12-01, 2009-06-01"),
- sep = ',',
- colClasses = c('Date', 'Date'),
- header = TRUE)
- recessions_trim <- subset(recessions_df, peak >= min(date_df_start) &
- trough <= max(date_df_end))
- if (nrow(recessions_trim) > 0) {
- recession_bars = geom_rect(data = recessions_trim, inherit.aes = F,
- fill = "darkgray", alpha = 0.25,
- aes(xmin = peak, xmax = trough, ymin = -Inf, ymax = +Inf))
- } else {
- recession_bars = geom_blank()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement