DT 在诊断时改变颜色
DT change color on diag
DT
有没有办法改变目标单元格的颜色?或按行和列索引的一些单元格?
例如我有:
library(DT)
set.seed(123)
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',
backgroundColor = styleEqual(c(0, 1), c('gray', 'yellow'))
)
看起来像:
我可以更改行或单元格的颜色(基于当前行的单元格)
但我找不到根据列和行索引更改颜色的方法,例如:
找到一个可能不是最好的方法 -- 根据 data.frame
的 ncol
生成 rowCallback
喜欢
datatable(df,options = list(rowCallback=JS(paste("function(row, data,index) {",
paste(sapply(1:(ncol(df)),function(i) paste("
var ind_1=",i,";
$(this.api().cell(row,ind_1).node()).css({'background-color':index +1>ind_1 ? '#CCFFCC' : index+1 < ind_1 ? 'red' : 'yellow'});
"
)),collapse = "\n"),"}" )
)))
结果
DT
有没有办法改变目标单元格的颜色?或按行和列索引的一些单元格?
例如我有:
library(DT)
set.seed(123)
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',
backgroundColor = styleEqual(c(0, 1), c('gray', 'yellow'))
)
看起来像:
我可以更改行或单元格的颜色(基于当前行的单元格)
但我找不到根据列和行索引更改颜色的方法,例如:
找到一个可能不是最好的方法 -- 根据 data.frame
ncol
生成 rowCallback
喜欢
datatable(df,options = list(rowCallback=JS(paste("function(row, data,index) {",
paste(sapply(1:(ncol(df)),function(i) paste("
var ind_1=",i,";
$(this.api().cell(row,ind_1).node()).css({'background-color':index +1>ind_1 ? '#CCFFCC' : index+1 < ind_1 ? 'red' : 'yellow'});
"
)),collapse = "\n"),"}" )
)))
结果