在闪亮的应用程序滑块中设置最小范围
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在闪亮的应用程序滑块中设置最小范围相关的知识,希望对你有一定的参考价值。
在闪亮的应用程序中使用范围滑块时,您是否需要最小范围的选定值?我在shinyWidgets包中使用了sliderTextInput()函数,但认为这对于范围滑块是通用的。玩具示例代码:
testx=1:150
testy=1:150
library(shiny) # also requires shinyWidgets package be installed
ui <- fluidPage(
plotOutput("plot"),
shinyWidgets::sliderTextInput("range","Input Size:",
choices=c(1,25,50,100),
selected=c(25,50), grid = T)
)
server <- function(input, output) {
output$plot <- renderPlot({
plot(testx[input$range[1]:input$range[2]],testy[input$range[1]:input$range[2]],
xlim=c(0,150),ylim=c(0,150))
})
}
shinyApp(ui, server)
我试图避免的问题是下面的问题,其中滑块的两端都设置为相同的值,这导致绘制单个点 - 我想要选择一个范围。
答案
如果值相同,您可以更新值:
testx=1:150
testy=1:150
library(shiny) # also requires shinyWidgets package be installed
library(shinyWidgets)
ui <- fluidPage(
plotOutput("plot"),
sliderTextInput("range","Input Size:",choices=sliderchoice,selected=c(25,50), grid = T)
)
server <- function(input, output,session) {
observeEvent(input$range,{
if(input$range[1] == input$range[2]){
updateSliderTextInput(session,"range",selected = c((input$range[1]-1),input$range[2]))
}
})
output$plot <- renderPlot({
plot(testx[input$range[1]:input$range[2]],testy[input$range[1]:input$range[2]],
xlim=c(0,150),ylim=c(0,150))
})
}
shinyApp(ui, server)
以上是关于在闪亮的应用程序滑块中设置最小范围的主要内容,如果未能解决你的问题,请参考以下文章