【发布时间】:2019-01-13 03:07:57
【问题描述】:
以下代码将在数据表中创建一个“迷你图”图。我想修改代码,使其在鼠标悬停时在一个小弹出屏幕(如工具提示)中显示“Sparkline”图。
我已经完成了“showModal”功能,但无法实现。谢谢。
require(sparkline)
require(DT)
require(shiny)
require(dplyr)
ui <- fluidPage(
sparklineOutput("ooooooooo"),
DT::dataTableOutput("tbl")
)
server <- function(input, output) {
df <- data.frame(
season = rep(1992:1993, each=5),
result = c(1,0,1,-1,0,0,1,1,0,-1),
goals = c(2,0,1,0,3,0,2,3,1,0)
)
x = df %>%
group_by(season) %>%
summarize(
result = paste(result, collapse = ","),
goals = paste(goals, collapse = ",")
)
columnDefs = list(list(
targets = c(1,2),
render = JS("function(data, type, full){
return '<span class=spark>' + data + '</span>'}")
))
fnDrawCallback = JS("function (oSettings, json) {
$('.spark:not(:has(canvas))').sparkline('html', {
type: 'bar',
highlightColor: 'orange'
});}"
)
d1 <- datatable(x,options = list(
columnDefs = columnDefs,
fnDrawCallback = fnDrawCallback
))
output$tbl <- renderSparkline({d1})
}
shinyApp(ui = ui, server = server)
【问题讨论】:
标签: r shiny dt sparklines