Ограничьте количество анимаций слайдера Shiny до одной за раз - PullRequest
0 голосов
/ 12 октября 2018

(Это продолжение до этого вопроса .)

Я создаю приложение Shiny с несколькими ползунками для параметров распределенного графика, которые вычерчиваются.Однако я не смог найти вариант для ограничения количества «активных» анимаций до один слайдер.

Можно ли автоматически останавливать анимацию одного слайдера, когда активирована другая?

По моему мнению, одновременное включение нескольких анимаций слайдера выглядит не только плохо, но это также замедляет работу приложения.

MWE:

library(shiny)

ui <- fluidPage(

  ### SLIDER 1 ###
  shinyWidgets::sliderTextInput(
    "mu","Mean", choices = (-99:99)/10, selected = 0, grid = TRUE, 
    animate = animationOptions(interval = 100, loop = TRUE)),

  ### SLIDER 2 ###
  shinyWidgets::sliderTextInput(
    "sigma","Variance", selected = 1, grid = TRUE, 
    choices = apply(expand.grid(1:10, 10^(-2:2)), 1, prod),
    animate = animationOptions(interval = 100, loop = TRUE)),

  plotOutput("plot")
)

server <- function(input, output) {

  ### PLOT ###
  output$plot <- renderPlot({
    x <- seq(-10, 10, 0.01)
    plot(dnorm(x, input$mu, input$sigma) ~ x, type = 'l', yaxs = 'i',
         xlim = c(-9, 9), ylim = c(0, 1/input$sigma/2),
         ylab = 'Probability density')
  })
}

shinyApp(ui, server)
...