Использование plot abline(), когда ось x является форматом даты в r

#r #plot #time-series

#r #построение графика #временные ряды

Вопрос:

Я ищу, как сделать так, чтобы abline () хорошо работала, когда данные имеют формат временных рядов (формат даты) Однако я не могу найти никакого четкого решения для этого, мои данные следующие:

     X                                    Y
1   2018-04-01 00:00:34                  3.58
2   2018-04-01 00:01:38                  2.79
3   2018-04-01 00:02:41                 -2.42
4   2018-04-01 00:03:44                  4.60
5   2018-04-01 00:04:47                  6.05
  

и что я на самом деле делаю, это :

 plot(y = df$Y, x = df$X)
abline(v = "2018-04-01 00:04:47", col = "red")
abline(v = "2018-04-01 00:03:44.000", col = "blue")
  

Но это не работает (функция abline), кто-нибудь, кто может это сделать …?

Ответ №1:

Используйте as.POSIXct внутри abline

 plot(df$X, df$Y)
abline(v = as.POSIXct("2018-04-01 00:04:47"), col = "red")
abline(v = as.POSIXct("2018-04-01 00:03:44.000"), col = "blue")
  

введите описание изображения здесь


Пример данных

 df <- read.table(text =
    "    X                                    Y
1   '2018-04-01 00:00:34'                  3.58
2   '2018-04-01 00:01:38'                  2.79
3   '2018-04-01 00:02:41'                 -2.42
4   '2018-04-01 00:03:44'                  4.60
5   '2018-04-01 00:04:47'                  6.05", header = T)

df <- transform(df, X = as.POSIXct(X))
  

Комментарии:

1. Это потрясающе… Я думал, что это уже преобразовано POSIXct, большое вам спасибо за вашу помощь!