Попытка использовать ggplotly
для построения графика временных данных с вертикальной линией для обозначения интересующих дат.
Ошибка вызова с Ошибка в Ops.Date (z [[xy]], 86400000): * не определена для объектов «Дата» . Я безуспешно пытался использовать как последние CRAN, так и разрабатываемые версии ggplot2 (согласно сюжетной рекомендации). Другие вопросы SO (например, ggplotly и geom_bar при использовании дат - последняя версия plotly (4.7.0) ) не решают мои проблемы.
Как показано ниже для объекта графика p
- и ggplot
, и ggplotly
работают как положено. Однако, когда geom_vline () добавляется к графику в p2
, он корректно работает только в ggplot, и при вызове ggplotly(p2)
происходит сбой.
library(plotly)
library(ggplot2)
library(magrittr)
set.seed(1)
df <- data.frame(date = seq(from = lubridate::ymd("2019-01-01"), by = 1, length.out = 10),
y = rnorm(10))
p <- df %>%
ggplot(aes(x = date, y = y)) +
geom_line()
p ## plots as expected
ggplotly(p) ## plots as expected
p2 <- p + geom_vline(xintercept = lubridate::ymd("2019-01-08"), linetype = "dashed")
p2 ## plots as expected
ggplotly(p2) ##fails