С пакетом lubridate
.
Вы можете использовать scale_x_date
, поскольку ваша дата октябрь в 2015 и 2016 годах, поэтому я сместил даты на 9 месяцев, чтобы отобразить и 2015, и 2016 год на графике.
library(lubridate)
df2 <- df %>%
gather(key = "variable", value = "value", -year) %>%
mutate(year = year - months(9))
ggplot(df2, aes(x = year, y = value)) +
geom_line(aes(color = variable, linetype = variable)) +
scale_color_manual(values = c("darkred", "steelblue")) +
scale_x_date(date_breaks = "1 year",date_labels = "%Y")
Другим способом будет извлечение года из столбца даты в виде целого числа и использование year
(целое число) для построения графика. Также необходимо указать разрывы.
df2 <- df %>%
gather(key = "variable", value = "value", -year) %>%
mutate(year = lubridate::year(year))
ggplot(df2, aes(x = year, y = value)) +
geom_line(aes(color = variable, linetype = variable)) +
scale_color_manual(values = c("darkred", "steelblue")) +
scale_x_continuous(breaks = c(2015,2016))
Оба результатана том же графике.