plotly:x轴上的范围滑块(日期),带有自定义开始/结束日期

是否可以选择在plotly包中使用rangeslider选项,以便添加滑块并指定哪个范围是默认值.现在,以下代码添加了滑块,但默认情况下会选择整个日期范围.

library(plotly)

df <- data.frame(Date = seq(as.Date("2016-01-01"), as.Date("2016-08-31"), by="days"),
                 Value = sample(100:200, size = 244, replace = T))

p <- plot_ly(data = df, x = Date, y = Value, type = "line") %>%
  layout(xaxis = list(rangeslider = list(type = "date")  ))
p

我希望能够指定初始范围 – 例如,仅显示上个月,并允许用户根据需要扩展范围.文档似乎表明没有这样的选项,我宁愿不去自定义的JavaScript方式.

有任何想法吗?

最佳答案
弄清楚,它在文档中,我不知道我是如何错过它的.日期需要从epoch转换为毫秒 – 下面的方法有点粗糙,可以尝试编写一个简单的函数来使代码更容易阅读:

p <- plot_ly(data = df, x = Date, y = Value, type = "line") %>%
  layout(xaxis = list(range = c( as.numeric(max(df$Date)-30) *86400000,
                                 as.numeric(max(df$Date)) * 86400000   ),
  rangeslider = list(type = "date")  ))
p

转载注明原文:plotly:x轴上的范围滑块(日期),带有自定义开始/结束日期 - 代码日志