问题描述
我想为迷你图工具提示添加更多细节。
我如何告诉迷你图用于 x
?
如果我向 spk_chr(c(Sepal.Length))
添加任何其他变量,它只会将它们附加到 y
。
我希望工具提示说“Sepal.Width:Sepal.Length”,例如“3.3:6.5”。目前,它只是显示在组内的位置。
(在我的实际应用中,我正在创建一个时间序列,所以 X 将是一个日期)
library(shiny)
library(dplyr)
library(sparkline)
library(DT)
ui <- fluidPage(
htmlwidgets::getDependency('sparkline'),dataTableOutput("table")
)
server <- function(input,output) {
cb <- htmlwidgets::JS('function(){debugger;HTMLWidgets.staticRender();}')
mydata <- iris %>%
group_by(Species) %>%
arrange(Sepal.Width) %>%
summarise(
"Sepal Length" = spk_chr(
c(Sepal.Length),tooltipformat = '{{x}}: {{y}}'
))
output$table <- renderDataTable({
datatable(
data = mydata,escape = FALSE,options = list(drawCallback = cb)
)
})
}
shinyApp(ui = ui,server = server)
解决方法
我已经解决了。烦人的简单。
将 xvalues = Sepal.Width
添加到 spk_chr()
这会导致使用此示例数据集进行分组时会出现一些问题,但是当 x
值都是唯一的时,它会起作用。
mydata <- iris %>%
group_by(Species) %>%
arrange(Sepal.Width) %>%
summarise(
"Sepal Length" = spk_chr(
c(Sepal.Length),xvalues = Sepal.Width,tooltipFormat = '{{x}}: {{y}}'
))