Как добавить кнопку «Далее» в ползунок ввода R блестящий? - PullRequest
1 голос
/ 04 мая 2020

Я строю данные GPS на листовой карте, используя R, поездка визуализируется через увеличивающуюся временную шкалу, предоставляемую 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.

Это также можно сделать, добавив ad-ho c блестящие кнопки ActionButtons,

любое предложение?

1 Ответ

3 голосов
/ 04 мая 2020

Адаптация кода из ?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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...