【发布时间】:2020-02-06 08:49:25
【问题描述】:
我之前询问过如何根据隐藏列中存储的颜色为单元格着色 (link),以及如何在悬停单元格时获取信息 (link)。我也想同时做一些格式化。
我想在我想要的地方扩展我的初始帖子:
- 根据数据框中指定的颜色添加颜色
- 添加悬停选项以显示与单个单元格相关的样本大小(也在数据框中)。
- 对指定列应用数字格式
示例数据:
dat <- iris[1:5,1:5]
colours2apply <- sample(x=c(rgb(1, 0, 0 ), rgb(1, 1, 0 ), rgb(0, 1, 1 )), 25, replace = T) %>%
matrix(nrow=5) %>%
data.frame()
set.seed(1234)
SampleSizesToShowInHover <- matrix(round(runif(n = 25, 10, 1000)), nrow=5)
dat <- cbind(dat, colours2apply)
dat <- cbind(dat, SampleSizesToShowInHover)
dat
同时做1和2的最终解决方案是:
library(DT)
solution12 <- DT::datatable(dat,
options =
list(
columnDefs = list(
list(
visible=FALSE,
targets = 6:15
)
),
rowCallback = JS(
"function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {",
'for(i=0; i<5; i++ ){',
"var full_text = 'n = '+ aData[i+10];",
"$('td:eq('+i+')', nRow).attr('title', full_text).css('background-color', aData[i+5]);",
'}',
"}")
)
)
solution12
如何集成 JavaScript 以便将第 3 列和第 4 列中的数据显示为带 1 位小数的百分比,同时保持第 1 和第 2 列的解决方案?
【问题讨论】:
-
您的意思是要添加百分号并以一位数四舍五入?
标签: javascript r dt