【发布时间】:2017-05-19 13:37:45
【问题描述】:
我想在闪亮的 DT 中包含迷你图。它在 RStudio 查看器中运行良好,但在 Shiny 中未渲染迷你图。这是一个最小的例子。
# dependencies
require(sparkline)
require(DT)
require(shiny)
# create data with sparklines
spark_data <- data.frame(
id = c('spark1', 'spark2'),
spark = c(
spk_chr(values = 1:3, elementId = 'spark1'),
spk_chr(values = 3:1, elementId = 'spark2')
)
)
# render in RStudio viewer (this works)
tbl <- datatable(spark_data, escape = FALSE)
spk_add_deps(tbl)
# render in Shiny (no sparklines rendered in DT)
ui <- fluidPage(
sparklineOutput("test_spark"),
dataTableOutput("tbl")
)
server <- function(input, output) {
# sparkline outside DT (works fine) - also ensures sparkline dependencies are attached
output$test_spark <- renderSparkline(sparkline(1:3))
# sparkline inside DT (does not render)
output$tbl <- renderDataTable(
expr = spark_data,
escape = FALSE
)
}
shinyApp(ui = ui, server = server)
【问题讨论】:
-
请参阅此link 以获取闪亮数据表中的迷你图。
-
谢谢,是的,我确实在那个页面上花了一些时间。它涵盖了我没有问题的第一种情况(即在 RStudio Viewer 中渲染)。该链接不涵盖第二种情况(为什么它无法在 Shiny 中呈现)。我怀疑问题可能出在依赖项上。我不清楚如何在闪亮的应用程序中使用“spk_add_deps”,因此我在 DT 之外渲染了一个虚拟迷你图以附加依赖项。
-
我在这里stackoverflow.com/questions/47041415/… 重新发布了这个问题的一个版本,因为该解决方案似乎不需要手动输入 JavaScript。如果它在查看器中有效,为什么在 Shiny 中无效?
标签: r shiny dt sparklines