gpt4 book ai didi

r - 行名称的 Shiny 数据表中的工具提示或弹出窗口?

转载 作者:行者123 更新时间:2023-12-04 18:03:01 24 4
gpt4 key购买 nike

当用户将鼠标悬停在/单击数据表的行名称上时,我一直试图包含诸如工具提示或弹出框之类的内容以及附加信息,因此他们不必查找我目前在不同的tabPanel。这是一个工作示例:

服务器.R:

library(shiny)
library(DT)
library(shinyBS)

# Define server for the Shiny app
shinyServer(function(input, output,session) {

tdata <- as.data.frame(iris)

# Render table here
output$mytable <- DT::renderDataTable(DT::datatable(

tdata[1:5,],

options = list(paging = FALSE, searching = FALSE, info = FALSE, sort = FALSE,
columnDefs=list(list(targets=1:4, class="dt-right")) ),

rownames = paste("rowname",1:5),

container = htmltools::withTags(table(
class = 'display',
thead(
tr(lapply(rep(c('ratios','name1', 'name2', 'name3','name4','name5'), 1),th))
)
))
))

}) # end of shinyServer function

用户界面:
library(shiny)
library(DT)
library(shinyBS)

shinyUI(
mainPanel(
DT::dataTableOutput("mytable")
)
)

请注意,我已经看到以下讨论主题,但没有成功:
R shiny mouseover text for table columns , 也
Add bootstrap tooltip to column header in shiny app
所以我在考虑 DT 包选项中的某些内容,或者使用 ShinyBS 包(如“bsTooltip”)或添加一些 HTML 或 JS 的内容。
对于在数据表中,Shiny 似乎并不自然支持此工具提示/弹出窗口功能......!?

最佳答案

此代码有效,但在客户端模式下运行。为了简单起见,我使用了 iris 数据集的前五行,但我想这个想法很清楚。如果将鼠标悬停在行名称上,将显示工具提示。

用户界面

    library(shiny)
library(DT)
shinyUI(
mainPanel(
DT::dataTableOutput("tbl")
)
)

服务器
    library(shiny)
library(DT)
shinyServer(function(input, output,session) {
output$tbl = DT::renderDataTable(
datatable(iris[1:5, ], callback = JS("
var tips = ['First row name', 'Second row name', 'Third row name',
'Fourth row name', 'Fifth row name'],
firstColumn = $('#tbl tr td:first-child');
for (var i = 0; i < tips.length; i++) {
$(firstColumn[i]).attr('title', tips[i]);
}")), server = FALSE)
})

关于r - 行名称的 Shiny 数据表中的工具提示或弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39970097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com