【发布时间】:2020-06-27 14:57:34
【问题描述】:
几天前我问了一个类似的问题,并通过与一些人交谈取得了一些进展,但我需要更多帮助才能达到我想要的程度。所以这就是我所在的位置:
我想要一个具有一定大小的数据表,其中包含数据列(不同的比例),并且能够将颜色范围(有点像热图)应用于数据表单元格中的值,具体取决于列中的值有多大或多小。
这是提供给我的一些代码:
library(DT)
testrun <- round(runif(100), 6)
data <- data.frame(testrun = testrun)
brks <- quantile(data$testrun, probs = seq(.05, .95, .01), na.rm = TRUE)
clrs_df <- colorRamp(c("white","blue"))(c(0,brks)) %>%
as_tibble(.name_repair ="minimal") %>%
setNames(nm=c("r","g","b")) %>%
mutate_all(~as.character(round(.,digits=0))) %>%
mutate(mycolor=paste0("rgb(",paste(r,g,b,sep = ","),")"))
clrs <- pull(clrs_df,mycolor)
DT::datatable(data,rownames=TRUE,options = list(lengthChange = FALSE, dom='t')) %>%
formatStyle(colnames(data), backgroundColor = styleInterval(brks, clrs))
上面的示例适用于一列数据,但我打算拥有多列数据,我希望这些颜色渐变分别应用于每一列。
我尝试在代码的赋值部分和 brks 赋值行中用 mtcars 代替 testrun,但它只给我留下了一个没有应用颜色的表格。
有人可以帮我指出正确的方向吗?任何帮助将不胜感激!
谢谢!
【问题讨论】: