在闪亮的应用程序滑块中设置最小范围

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) 

我试图避免的问题是下面的问题,其中滑块的两端都设置为相同的值,这导致绘制单个点 - 我想要选择一个范围。

enter image description here

答案

如果值相同,您可以更新值:

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) 

enter image description here

以上是关于在闪亮的应用程序滑块中设置最小范围的主要内容,如果未能解决你的问题,请参考以下文章

如何在angularjs中设置范围滑块的时间?

如何在 jquery 滑块中设置最小值和最大值?

如何在 NHRangeSlider 中设置以前的值?

在ggplot中使用过滤器时闪亮的范围滑块错误

如何在 MATLAB GUI 中设置滑块来控制视频?

如何在android的片段中设置应用程序上下文?