Shiny - Plotly时间序列和dateRangeInput

时间:2017-08-16 07:19:32

标签: r date shiny plotly shinydashboard

我有一个带有Plotly时间序列的Shiny仪表板,其范围通过我放在一起的响应dateRangeInput进行调整(请参阅下面的代码)。

一切都很好,但后来我更新了我的包。从那时起,变量不会在第一个实例中自动显示,您必须选择日期范围,而不是使用默认时间范围加载绘图。

dateRangeInput还使用了monate,tueate,wedate等奇怪的语言。

我需要一些帮助来确定我的问题。

会话信息

更新之前我使用的是Plotly 3.6.0,shinyDashboard 0.5.1和闪亮的0.13.2。

更新后我使用的是Plotly 4.5.6,shinyDashboard 0.5.3和闪亮的0.14.2

请参阅下面的相应代码

ui - plotlyOuput时间序列码

box(width = 8, 
    solidHeader = TRUE, 
    plotlyOutput("Time_Ser", height ="300px"))

ui - dateRangeInput code

dateRangeInput("date","Date:", 
              label = h4("Time Series: select dates"),
              start = "2017-05-02",
              end = "2017-07-30", 
              min = "2017-05-02",
              max = "2017-06-30", 
              startview = "2017-06-30")

服务器 - 无效输入代码

        Time2 <- Time
                 reactiveTime <- reactive({
                 Time2 %>% filter(Date.received>=input$date[1] & 
                 Date.received<input$date[2])
                 })

服务器 - 输出

       output$Time_Ser <- renderPlotly({
                          Time_Ser <- plot_ly(reactiveTime(), 
                          x = ~Date.received, 
                          y = ~n, 
                          type = "scatter", 
                          mode = "lines") %>%
                          layout(title = "Enquiries Time Series")
                          })

支持图片

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试为dateRangeInput使用以下内容。我无法解释为什么您的代码之前有效,但请注意startview应该是一个分类字符串,您可以指定显示的日期格式(以覆盖它似乎默认为DD的事实),你可以强制语言(但实际上并不需要)。

dateRangeInput("date", "Date:", 
          label = h4("Time Series: select dates"),
          start = "2016-05-02",
          end = "2016-12-31",
          min = "2016-01-01",
          max = "2016-12-31",
          startview = "year",
          weekstart=0,
          language="en",
          format="yyyy-mm-dd")
  • 请注意,上面的日期适用于我为测试目的而创建的一些虚拟数据。