plotly:x 轴(日期)上的范围滑块,具有自定义开始/结束日期
plotly: range slider on x-axis (date) with custom start / end date
是否可以使用 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 方式。
有什么想法吗?
想出来了,文档里有,不知道怎么漏掉了。日期需要转换为自纪元以来的毫秒数 - 下面的方法有点粗糙,可以尝试编写一个简单的函数来使代码更易于阅读:
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
包中的 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 方式。
有什么想法吗?
想出来了,文档里有,不知道怎么漏掉了。日期需要转换为自纪元以来的毫秒数 - 下面的方法有点粗糙,可以尝试编写一个简单的函数来使代码更易于阅读:
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