Временные ряды в Plotly R - PullRequest
       8

Временные ряды в Plotly R

0 голосов
/ 27 сентября 2018

Итак, у меня есть эти данные

test_data <- structure(list(
  time = c(29510, 29528.023023023, 29546.046046046, 
           29564.0690690691, 29582.0920920921, 29600.1151151151, 
           29618.1381381381, 29636.1611611612, 29654.1841841842, 
           29672.2072072072, 29690.2302302302, 29708.2532532533, 
           29726.2762762763, 29744.2992992993, 29762.3223223223, 
           29780.3453453453, 29798.3683683684, 29816.3913913914, 
           29834.4144144144, 29852.4374374374), 
  sum = c(0L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 5L, 7L, 9L, 9L, 15L, 
          17L, 18L, 18L, 18L, 18L, 21L)), 
  .Names = c("time", "sum"), 
  row.names = c(NA, 20L), 
  class = "data.frame")

Где время числовое.

Я могу построить его идеально с помощью ggplot2, используя это:

ggplot(test_data) +
    geom_line(aes(x=time, y=sum)) + 
    scale_x_time()

Нокогда я пытаюсь использовать plot_ly, время отображается неверно как числа вместо времени.Есть ли что-то похожее на функцию scale_x_time в ggplot2?

plot_ly(test_data, x = ~time, y = ~sum, type = 'scatter', mode = 'lines')

1 Ответ

0 голосов
/ 27 сентября 2018

Как насчет этого, интегрируя советы @ Z.Lin и устраняя необходимость дня:

test_data$time <- as.POSIXct(test_data$time, origin = "1970-01-01")  # as date
test_data$time <- strftime(test_data$time,format="%H:%M:%S")         # remove the day
plot_ly(test_data, x = ~time, y = ~sum, type = 'scatter', mode = 'lines')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...