【发布时间】:2022-01-15 06:07:54
【问题描述】:
我对@987654324@ 有疑问。在我的应用程序中,当用户加载数据 (actionBTTN) 时,我的 sliderInput 的年份会根据该数据更新(使用 updateSliderInput)。但我注意到,对于包含几年 (4-5) 的数据,sliderInput 会显示重复的年份。我还注意到,它似乎只在我的屏幕尺寸更大时才会发生。
以下是小窗口的外观: no duplicated year values, how I would like it to be in the app 这是使用更大窗口时的外观: duplicated year values
这是我的应用程序示例:
library(shiny)
library(shinyWidgets)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
# initial input with no years selected, it will update once data is loaded
sliderInput(
inputId = "years",
label = "Choose a time range:",
min = 0, max = 1,
value = c(0,1),
#dragRange = TRUE,
step = 1,
sep = ''
),
actionBttn(
inputId = "load_data",
label = "Get data!",
color = "primary",
style = "fill",
icon = icon("arrow-alt-circle-down"),
size = "xs",
block = TRUE
)
),
mainPanel()
)
)
server = function(input, output, session) {
observeEvent(input$load_data, {
mydata <- data.frame(numbers = c(1:5), year = c(2010:2014))
minim = min(mydata$year)
maxim = max(mydata$year)
updateSliderInput(session, inputId = "years",
min = minim, max = maxim,
value = c(minim, maxim),
# calculate step dynamically (@Isa's idea)
step = seq(minim, maxim, length.out = length(mydata$year))[2] - seq(minim, maxim, length.out = length(mydata$year))[1])
})
}
shinyApp(ui, server)
我已经尝试更改 step 和 sep 参数,还将 mydata$year 设置为整数。有没有人遇到过同样的问题?
欢迎所有帮助。
谢谢:)
【问题讨论】:
-
这可能是
updateSliderInput()中的一个错误,如问题#2398 中所述 -
谢谢!我会看的。但正如 2019 年报道的那样,我不认为他们目前正在研究它。但很高兴知道!
-
请尝试 alandipert 在该链接中的解决方法。
标签: r shiny shinyapps shinywidgets