有没有办法在迷你图中定义 X,以便工具提示描述两个轴?

问题描述

我想为迷你图工具提示添加更多细节。
我如何告诉迷你图用于 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}}'
            ))