调整单选按钮和滑块后如何刷新图?

时间:2019-04-18 01:58:53

标签: r shiny

对于我正在开发的闪亮应用程序,我希望直方图在用户调整滑块和单选按钮后会刷新。

  

我如何将单选按钮和滑块与绘图链接?

我尝试使用importrange,当单选按钮调整为“ yes”或“ no”时,它总是以不显示图的形式结束。但是,当单选按钮停留在“全部”位置时,该图显示得很好。

下面是我使用过的filter()

server.r

下面是我使用过的plotdata<- reactive({ if(input$DayTrade=="All") {dataset %>% filter(dataset$INVEST<=input$INVEST[2], dataset$INVEST>=input$INVEST[1], dataset$Age<=input$Age[2], dataset$Age>=input$Age[1],dataset$DayTrade==dataset$DayTrade)} else if (input$DayTrade=="No") {dataset %>% filter(dataset$INVEST<=input$INVEST[2], dataset$INVEST>=input$INVEST[1], dataset$Age<=input$Age[2], dataset$Age>=input$Age[1],dataset$DayTrade=="No")} else {dataset %>% filter(dataset$INVEST<=input$INVEST[2], dataset$INVEST>=input$INVEST[1], dataset$Age<=input$Age[2], dataset$Age>=input$Age[1],dataset$DayTrade=="Yes")} }) output$histogramplot<-renderPlot({ datos<-plotdata() ggplot(datos, aes(factor(Age),fill=factor(SEX))) + geom_bar(bins=15) })

ui.r

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我们可以使用eventReactive来收听单选按钮和滑块,并在它们改变时做出反应。这是一个例子

shinyApp(
  ui = fluidPage(
    column(4,
           radioButtons("x", "Value x", choices = c('5'=5,'7'=7,'8'=8), selected = 5),
           sliderInput("y", "Value y", value = 7,6,10)
    ),
    column(8, tableOutput("table"))
  ),
  server = function(input, output, sessio) {
    # Take an action every time button is pressed;
    # here, we just print a message to the console
    observeEvent(input$x, {
      cat("Showing", input$x, "rows\n")
    })
    # Take a reactive dependency on input$x or input$y, but
    # not on any of the stuff inside the function
    df <- eventReactive(as.numeric(input$x) | input$y, {
      data.frame(x=input$x,y=input$y)
    })
    output$table <- renderTable({
      df()
    })
  }
)