我想让闪亮的对数滑块变得灵活一些,但是我遇到了一些问题。当通过网上搜索我发现有一个滑块可以通过脚本改为对数例如是这样的:通过标签渲染滑块之前对数滑块在呈现renderUI的时候有光泽
sliderLogarithm <- "$(function() {
setTimeout(function(){
var vals = [0];
var powStart = -2.0;
var powStop = 0.01;
for (i = powStart; i <= powStop; i=i+0.01) {
var val = Math.pow(10, i);
val = parseFloat(val.toFixed(3));
vals.push(val);
}
$('#range1').data('ionRangeSlider').update({'values':vals})
}, 5)})"
在ui.R然后初始化:tags$head(tags$script(HTML(sliderLogarithm)))
然后叫滑块range1
是对数。但是,通过renderUI函数在slider.R中初始化slider时,它不起作用。一些帮助?
代码:
library(shiny)
server <- shinyServer(function(input, output, session) {
output$sliders <- renderUI({
tags$head(tags$script(HTML(sliderLogarithm)))
lapply(seq(input$number), function(i) {
sliderInput(inputId = "range1",
label = paste('Some range', i),
min = 0, max = 1, value = 0.1)
})
})
})
sliderLogarithm <-
"$(function() {
setTimeout(function(){
var vals = [0];
var powStart = -2.0;
var powStop = 0.01;
for (i = powStart; i <= powStop; i=i+0.01) {
var val = Math.pow(10, i);
val = parseFloat(val.toFixed(3));
vals.push(val);
}
$('#range1').data('ionRangeSlider').update({'values':vals})
}, 5)})"
ui <- fluidPage(
numericInput('number', 'Number', 1),
tags$head(tags$script(HTML(sliderLogarithm))),
uiOutput('sliders')
)
shinyApp(ui = ui, server = server)
'testInput'从哪里来?你能提供一个[可重现的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? – jsb
是的,抱歉,我的错误。现在应该可以。 – byrolew