Я использую ggplot и динамический ввод слайдера. Максимальное значение ввода ползунка зависит от того, что выбрано из выпадающего меню (то есть, если я выбрал животных, кошку, собаку и мышь, то каждое имеет значение max_r).
Я использовал ui
и observeEvent
в сиянии, чтобы это произошло. Однако я заметил, что когда я переключаюсь между вариантами выбора, я заметил, что если max_r
одинаково (например, у собаки и мыши одинаковые max_r
), график не изменяется.
Я знаю, что это является следствием observeEvent({ input$rangex ...
, но если я вместо этого использовал input$animals
, то сначала ползунок меняет xlim
на ggplot, а затем график меняется.
Другими словами, если бы я выбрал «кошку», а затем переключился на «собаку», max_r
для «кошки» изменится на «собаки» (и xlim
на ggplot изменится) но данные для «кошки» все еще будут видны на секунду, а затем сюжет изменится на «собаку».
Можно ли сделать так, чтобы ползунок И сюжет менялись одновременно? Благодарю. Вот пример
ui.R
selectInput("animals", choices = c("dog" = DOG, "cat" = CAT, "mouse"= MOUSE))
uiOutput("g_plot")
uiOutput("slider1")
сервер. R
output$slider1 <- renderUI({
sliderInput("rangex",
"X Range:",
min = 0,
max = max_r
value = c(0, max_r)
)
)
})
observeEvent(input$rangex[2], {
data<- data()
output$g_Plot <- renderUI({
output$g <- renderPlot({
ggplot(data, aes(x, weight = y) +
geom_histogram() + xlim(input$rangex)
})
plotOutput("g_Plot")
})