#r #date #plot #time-series
#r #Дата #график #временные ряды
Вопрос:
У меня есть столбец даты типа = Дата
> class(df$Date)
[1] "Date"
> df$Date
[1] "2010-10-01" "2010-11-01" "2010-12-01" "2011-01-01" "2011-02-01" "2011-03-01"
[7] "2011-04-01" "2011-05-01" "2011-06-01" "2011-07-01" "2011-08-01" "2011-09-01"
[13] "2011-10-01" "2011-11-01" "2011-12-01" "2012-01-01" "2012-02-01" "2012-03-01"
[19] "2012-04-01" "2012-05-01" "2012-06-01" "2012-07-01" "2012-08-01" "2012-09-01"
[25] "2012-10-01" "2012-11-01" "2012-12-01" "2013-01-01" "2013-02-01" "2013-03-01"
[31] "2013-04-01" "2013-05-01" "2013-06-01" "2013-07-01" "2013-08-01" "2013-09-01"
[37] "2013-10-01" "2013-11-01" "2013-12-01" "2014-01-01" "2014-02-01" "2014-03-01"
[43] "2014-04-01" "2014-05-01" "2014-06-01" "2014-07-01" "2014-08-01" "2014-09-01"
[49] "2014-10-01" "2014-11-01" "2014-12-01" "2015-01-01" "2015-02-01" "2015-03-01"
[55] "2015-04-01" "2015-05-01" "2015-06-01" "2015-07-01" "2015-08-01" "2015-09-01"
[61] "2015-10-01" "2015-11-01" "2015-12-01" "2016-01-01" "2016-02-01" "2016-03-01"
[67] "2016-04-01" "2016-05-01" "2016-06-01" "2016-07-01" "2016-08-01" "2016-09-01"
[73] "2016-10-01" "2016-11-01" "2016-12-01" "2017-01-01" "2017-02-01" "2017-03-01"
[79] "2017-04-01" "2017-05-01" "2017-06-01" "2017-07-01" "2017-08-01" "2017-09-01"
[85] "2017-10-01" "2017-11-01" "2017-12-01" "2018-01-01" "2018-02-01" "2018-03-01"
[91] "2018-04-01" "2018-05-01" "2018-06-01" "2018-07-01" "2018-08-01" "2018-09-01"
[97] "2018-10-01" "2018-11-01" "2018-12-01" "2019-01-01" "2019-02-01" "2019-03-01"
[103] "2019-04-01" "2019-05-01" "2019-06-01" "2019-07-01" "2019-08-01" "2019-09-01"
[109] "2019-10-01" "2019-11-01" "2019-12-01" "2020-01-01" "2020-02-01" "2020-03-01"
[115] "2020-04-01" "2020-05-01" "2020-06-01" "2020-07-01"
Я пытаюсь построить его, выполнив следующее:
plot(x=df$Date, y=df$Feature, type="l")
Однако график включает только год по оси x. Я бы хотел, чтобы он включал месяц и год, то есть в формате «%m%Y».
Как я могу этого добиться?
Ответ №1:
Вот решение с использованием ggplot
пакета.
library(ggplot2)
# Transform the Date column to date format
ggplot(df, aes(x = as.Date(Date),
y = Feature))
# Draw line
geom_line()
# Change x axis title
labs(x = "Date (monthYear)")
# Set x breaks and the desired format for the date labels
scale_x_date(date_breaks = "1 month", date_labels = "%m%Y")
Комментарии:
1. Это работает! Однако даже при изменении поворота и размера шрифта это совершенно нечитаемо. Каково ваше предложение по исправлению этого? Я добавил тему (axis.text.x = element_text(size = 8, angle = 45, hjust = 1))
2. Хм, может быть, попробовать что-то вроде
scale_x_date(date_breaks = "1 month", date_labels = "%m-%Y") theme(axis.text.x = element_text(size=8, angle = 90, vjust = 0.5))
. Этот формат даты может быть более понятным для чтения (например, 05-2019), а также может помочь установка меток x в вертикальном положении.