如何在时间序列图中使用daterangenput?

时间:2016-01-22 06:26:36

标签: r ggplot2 shiny time-series timeserieschart

我将数据绘制为由用户上传的系列。然而,数据是一年,我想显示2个月,例如,1月和2月,当用户需要分析这些月的模式。这就是为什么我认为dateRangeInput可能有用,但我不知道我怎么能与情节结合?

表示数据:http://www.filedropper.com/quo

编辑:我使用了反应参数来获取输入。但是,它显示另一个错误:charToDate(x)中的错误:   字符串不是标准的明确格式。

enter image description here

 library(shiny)
  shinyUI(fluidPage( 
    titlePanel("Time Series Study"), 
     sidebarLayout(
      sidebarPanel(
       fileInput('file2', 'Choose Quotation File:', accept=c('text/csv', 'text/comma-separated-values,text/plain', '.csv'), multiple = FALSE),
       dateRangeInput("range",
                 "Date Range:",
                 start = "start",
                 end   = "end",
                 min = "2012.01.01",
                 max   = "2012.01.31")
        ),

        mainPanel(
        plotOutput("distPlot")  )  ) ))


 #server.r


  library(shiny)
  library(ggplot2)
     shinyServer(function(input, output) {


     dataInput <- reactive({

     `uploadedsamplefile` <- read.csv(input$file2$datapath, sep=";",check.names = FALSE)
      uploadedsamplefile1 <- uploadedsamplefile
      xx<-cbind(`uploadedsamplefile1`[1:4])
      xx$`Datee` <- as.Date( xx$`Datee`, '%d.%m.%Y')
      xx$`Datee` <- subset( xx$`Datee`,   as.Date("input$start") <= xx$`Datee`  &&  xx$`Datee` <= as.Date("input$end"))
    })
     output$distPlot <- renderPlot({
       y <- ggplot(xx, aes(x=`Datee`)) +  geom_line(aes(y=(`A`), colour = "A")) + geom_line(size=1,aes(y=(`B`), colour = "B")) + 
  geom_line(size=1,aes(y=(`C`), colour = "C")) 
       y }) })

1 个答案:

答案 0 :(得分:1)

要访问示例中的开始日期和结束日期,请使用input$range[1]作为开始日期,使用input$range[2]访问结束日期。