问题 桌子列的R发光的mouseover文本


我该怎么创造 mouseover text 对于R闪亮数据表显示中的列名称。 我正在尝试为用户提供一些文本来理解列名。 我也检查了DT包,但我找不到解决方案。 我可以为列名创建标签,并在用户检查框时显示所有这些标签,这需要大量的空间,我不希望这样。 有小费吗?


12285
2018-06-29 19:37


起源

你指的是Shiny中的javascript DataTable吗? - Shiva
我呈现的数据表 Shiny 运用 renderDataTable - Sri
可能有兴趣: stackoverflow.com/questions/16449252/tooltip-on-shiny-r - C8H10N4O2
能否请您提供可重复的示例。另外,检查一下。它可能会有所帮助。转到选项中的4.3回调。 rstudio.github.io/DT/options.html - Shiva
你可以使用 title 的属性 <th> 并创建一个自定义表容器。请参阅“自定义表容器”部分 rstudio.github.io/DT - Yihui Xie


答案:


为了扩展我上面的评论,这里有一个例子,显示了我的意思 title 属性:

library(DT)
sketch = htmltools::withTags(table(
  class = 'display',
  thead(
    tr(
      th('', title = 'Row Names'),
      th('Sepal.Length', title = 'The Sepal Length'),
      th('Sepal.Width', title = 'The Sepal Width'),
      th('Petal.Length', title = 'The Petal Length'),
      th('Petal.Width', title = 'The Petal Width'),
      th('Species', title = 'Iris Species')
    )
  )
))
datatable(iris, container = sketch)

这是另一种使用JavaScript(jQuery)添加的方法 title 属性:

library(DT)
datatable(iris, callback = JS("
var tips = ['Row Names', 'The Sepal Length', 'The Sepal Width',
            'The Petal Length', 'The Petal Width'],
    header = table.columns().header();
for (var i = 0; i < tips.length; i++) {
  $(header[i]).attr('title', tips[i]);
}
"))

13
2017-07-20 02:23



谢谢你的替代方法。 - Sri
谢谢@Yihui ...将鼠标悬停在所有表格单元格而不是标题上的相应方法是什么?我已经尝试了很多,但到目前为止我没有管理...谢谢 - ChriiSchee
jquery版本似乎对我不起作用 - 当我试图包含这个片段时,我的表根本没有加载。所以我切换到容器方法,这是有效的。但是我以前用过 tableHeader(table,escape= F) 定义我的列名。我怎么能逃脱标题名称? - Paul


你可以用它完成 options在里面 renderDataTable() 功能在闪亮。来自 文件 在闪亮的DT页面,这样的东西应该工作。

renderDataTable(head(iris, 20), options = list(
  initComplete = JS(
    "function(settings, json) {",
        "$(this.api().table().header()).on({
            mouseenter: function () {
                //stuff to do on mouse enter
            },
            mouseleave: function () {
                //stuff to do on mouse leave
            }
         });",
    "}")
))

2
2018-06-29 21:16



这可能适用于整个标题行的一个文本,但我正在为每个列名寻找一个单独的值。可以用一些东西来完成 colnames 在 renderDataTable 和HTML标签? - Sri