【发布时间】:2016-01-15 18:50:00
【问题描述】:
我正在使用shiny::updateSliderInput 来更新滑块的标签。我希望滑块的标签使用希腊字符 xi (ξ) 和下标呈现。下标是updateSliderInput 调用的目标。
我已经成功地在没有updateSliderInput 调用的情况下生成了标签,但是正确使用withMathJax() 调用来更新标签并没有像我希望的那样工作。
针对此问题的闪亮应用的可重现示例是:
library(shiny)
shinyApp(ui = shinyUI(fluidPage(sliderInput("order", withMathJax("Order, \\(k\\)"), min = 3, max = 7, value = 4, step = 1),
sliderInput("iknots", "iKnots", min = 0, max = 10, value = 5, step = 1),
sliderInput("xi1", withMathJax(), min = 0, max = 10, value = 1, step = 0.1))),
server = shinyServer(function(input, output, clientData, session) {
observe({
k <- as.integer(input$order)
l <- as.integer(input$iknots)
updateSliderInput(session, "xi1", label = paste0("\\(\\xi_{", k + l, "}\\)"))
})
}))
在浏览器中初始加载应用程序时,我们有一个想要的标签,ξ9 是正确的。
调整前两个滑块之一后,第三个滑块的标签未按预期呈现。
我尝试在updateSliderInput 的label 参数中使用withMathJax,但出现了不受欢迎的标签。将上面的 updateSliderInput 行更改为
updateSliderInput(session, "xi1", label = withMathJax(paste0("\\(\\xi_{", k + l, "}\\)")))
并将sliderInput 设置为label = withMathJax() 或label = "" 会导致初始标签为
和更新的标签
如何在滑块标签中正确更新ξ上的下标?
【问题讨论】: