Plotly时间序列中的垂直范围滑块?

时间:2017-05-25 22:25:59

标签: r plotly

例如,通过运行:

重现
library(plotly)
library(quantmod)
setDefaults(getSymbols,src='google')
getSymbols('AAPL',from="2010-01-01",to=Sys.Date())
df <- data.frame(Date = index(AAPL), coredata(AAPL))
colnames(df)

p <- df %>%
  plot_ly(x = ~Date, type="candlestick",
          open = ~AAPL.Open, close = ~AAPL.Close,
          high = ~AAPL.High, low = ~AAPL.Low) %>%
  layout(title = "Basic Candlestick Chart")
p

现在这个情节没有垂直滑块/范围选择器,就像情节散点图一样(比如缩放价格和时间范围而不是现在的时间范围)。如何添加一个?

1 个答案:

答案 0 :(得分:1)

可以通过更改xaxis中的layout来完成此操作。使用example中的一段代码:

rangeselectorlist = list(
  x = 0, y = 0.9,
  bgcolor = "#0099cc",
  font = list(color = "white"),

  buttons = list(
    list(count = 1, label = "reset", step = "all"),
    list(count = 1, label = "1yr", step = "year", stepmode = "backward"),
    list(count = 3, label = "3 mo", step = "month", stepmode = "backward"),
    list(count = 1, label = "1 mo", step = "month", stepmode = "backward"),
    list(step = "all")
  )
)

并添加到

p <- df %>%
  plot_ly(x = ~Date, type="candlestick",
          open = ~AAPL.Open, close = ~AAPL.Close,
          high = ~AAPL.High, low = ~AAPL.Low) %>%
  layout(title = "Basic Candlestick Chart",
     xaxis = list(rangeslider = list(visible = F),
     rangeselector = rangeselectorlist) )
p

添加垂直滑块/范围选择器。