【发布时间】:2018-02-24 17:46:15
【问题描述】:
我想获得灵活数量的闪亮对数滑块,但我遇到了一些问题。通过互联网搜索时,我发现可以通过脚本将一个滑块更改为对数,例如:
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 的滑块是对数的。但是当滑块在 server.R 中通过 renderUI 函数初始化时它不起作用。有什么帮助吗?
代码:
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来自哪里?你能提供一个reproducible example吗? -
是的,对不起,我的错误。现在应该没问题了。
标签: javascript r shiny