如何在R shiny的sliderInput中增加一个 "下一个 "按钮?

问题描述 投票:1回答:1

我在一个小册子地图上用R绘制GPS数据,行程是通过动画模式下的sliderInput提供的递增时间线来实现的。

 sliderInput("animation", "Mesures GPS :",
                                  min = ifelse( !exists("i.data"), 0, min(i.data$sequence)),
                                  max = ifelse( !exists("i.data"), 1, max(i.data$sequence)),
                                  value = 0,
                                  step=20,
                                  animate = animationOptions(interval = 1000, loop = FALSE),
                                  width="100%"))

我可以看到GPS点在地图上跳跃,现在我正在寻找一种方法,让 "下一步 "按钮([<<],[>>])来控制更精细的局部步骤。我在sliderInput文档中没有看到任何这样的选项。

这也可以通过添加特设的闪亮的actionButtons来实现。

有什么建议吗?

r shiny
1个回答
3
投票

改编自 ?sliderInput:

library(shiny)
shinyApp(
  ui = fluidPage(
    fluidRow(
      div(style = "display: inline-block;vertical-align:center;",
          actionButton("left", label = "<<")),
      div(style = "display: inline-block;vertical-align:center;",
          sliderInput("obs", "Number of observations:",
                      min = 0, max = 1000, value = 500
                      )),
      div(style = "display: inline-block;vertical-align:center;",
          actionButton("right", label = ">>")),
    ),
    plotOutput("distPlot")
  ),
  # Server logic
  server = function(input, output, session) {
    output$distPlot <- renderPlot({
      hist(rnorm(input$obs))
    })
    observeEvent(input$left, {
      updateSliderInput(session, "obs", value = input$obs - 10)
    })
    observeEvent(input$right, {
      updateSliderInput(session, "obs", value = input$obs + 10)
    })
  }
)

shiny app

此更新为+-10。

© www.soinside.com 2019 - 2024. All rights reserved.