r shiny - DataTableOutput - 颜色特定的行和列

Posted

技术标签:

【中文标题】r shiny - DataTableOutput - 颜色特定的行和列【英文标题】:r shiny - DataTableOutput - color specific rows and colomns 【发布时间】:2015-11-13 05:13:51 【问题描述】:

有没有办法为 r shiny 的 dataTableOutput 中的特定行着色?

我发现我可以将 orderClasses = TRUE 设置为按颜色排序的列,但我想始终为输出数据表的第 2 列和第 2 行着色。我一直在阅读选项手册,但没有找到任何东西。

-----------编辑-------------

好的,所以在 Yihui 和 user5029763 的建议之后,我现在可以使用 DT 突出显示列,但我仍然无法突出显示行。这是我使用 iris 数据集作为示例的代码 - 如果 Species 是 setosa,我会尝试突出显示整行,但是,在我的计算机上,它只会突出显示 setosa 的单元格:

datatable(iris) %>% formatStyle(
  'Species',
  target = 'row',
  backgroundColor = styleEqual('setosa', 'gray')
)

------- 编辑 -----------

抱歉,这篇文章太长了——事实上,我运行了这里指定的确切代码:http://rstudio.github.io/DT/010-style.html

library(DT)
options(DT.options = list(pageLength = 5))
df = as.data.frame(cbind(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE)))

datatable(df) %>% formatStyle(
  'V6',
  target = 'row',
  backgroundColor = styleEqual(c(0, 1), c('gray', 'yellow'))
)

它仍然只突出显示我计算机上的单元格而不是行。我使用的是 3.2.1 版的 R 和 0.99.447 版的 RStudio。我也有 github 版本的 Shiny,不确定是否会覆盖数据表中的任何选项?

【问题讨论】:

我相信这需要创建一个自定义的.css 文件并创建一个新类(例如.dt-hightlight background-color: yellow; )并将其应用于相关的行/列。我不确定行类,但对于列,应该有className 的选项。 是的,烦人的行... 我不确定你到底在读什么,但如果你还没有读过,请阅读:rstudio.github.io/DT/functions.html 啊,我使用的是 Shiny 的 renderDataTable 函数,而不是 DT,所以我查看了 Shiny 的页面 - shiny.rstudio.com/articles/datatables.html,以及 jQuery 数据表页面 - datatables.net(链接到来自 Shiny 的页)。 DT 包似乎就是我要找的东西 【参考方案1】:

Yihui 发布的链接很好地解释了 formatStyle,但我认为那里没有提到参数“目标”。

要为整行着色,请在formatStyle 中使用参数target="row"

【讨论】:

谢谢,这正是我正在寻找的内容。现在,我可以按照 Yihui 的说明突出显示列,并且使用 target = "row" 仅突出显示一个单元格而不是一行。我在我的问题中添加代码。【参考方案2】:

使用target = 'row'的选项仅在github上DT包的开发版本中可用,在CRAN版本中不可用。

安装开发版

install.packages("devtools")
devtools::install_github('rstudio/DT')

您上面的代码应该可以工作。 @yihui 可以确认一下吗?

【讨论】:

以上是关于r shiny - DataTableOutput - 颜色特定的行和列的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用 Shiny 更新的 DT::renderDataTable 和 DT::dataTableOutput 按列搜索?

指定datatable pdf output r shiny的文件名和标头

如何在 R Shiny 中实现对数据表的内联编辑

在每个单元格的Shiny数据表中显示工具提示或弹出窗口?

链接dataTableOutput和R中闪亮的绘图

R数据表行填充大小修改