错误:必须提供来源怎么解决?

时间:2018-06-22 11:13:29

标签: r date shiny rstudio

date=seq(as.Date('2000-1-3'),length.out=6486,by=1)

library(shiny)
ui <- basicPage(
  plotOutput("zoom", height = "350px"),
  plotOutput("overall", height = "150px",
             brush =  brushOpts(id = "brush", direction = "x")
  )
)

server <- function(input, output){
  data=data.frame(
    date=date,
    ucl2=ucl2,
    ucl1=ucl1,
    price=price,
    lcl1=lcl1,
    lcl2=lcl2
  ) 


  p <- ggplot(data,aes(x=date))+
    geom_line(aes(y=ucl2),colour="blue")+
    geom_line(aes(y=lcl2),colour="blue")+
    geom_line(aes(y=price),colour="red")+
    geom_line(aes(y=ucl1),colour="green")+
    geom_line(aes(y=lcl1),colour="green")+
    ggtitle("7 days") + 
    xlab("ma of 7 days") +
    ylab("standard deviation")


  output$zoom <- renderPlot({
    if (!is.null(input$brush)) {
      p <- p +xlim(input$brush$xmin, input$brush$xmax)
    }
    p
  })

  output$overall <- renderPlot(p)
}

shinyApp(ui, server)
Warning: Error in as.Date.numeric: 'origin' must be supplied

我已经获得了这些命令想要的图形,但是放大功能不起作用,当我选择要放大的数据时显示错误。 错误:必须提供来源 如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试一下:

  output$zoom <- renderPlot({
    if (!is.null(input$brush)) {
      p <- p + xlim(as.Date("1970-01-01") + input$brush$xmin, as.Date("1970-01-01") + input$brush$xmax)
    }
    p
  })

enter image description here