首页 > 解决方案 > 如何将 R 界面中从“绿色”到“红色”的单元格着色到 DataTables?

问题描述

有一个很好的例子:https ://rstudio.github.io/DT/010-style.html允许创建 19 个中断和 20 个 rgb 颜色值,范围从“白色”到“红色”:

library(DT)

# 1. Data
df = as.data.frame(cbind(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE)))

# 2. Create 19 breaks and 20 rgb color values ranging from white to red
brks <- quantile(df, probs = seq(.05, .95, .05), na.rm = TRUE)
clrs <- round(seq(255, 40, length.out = length(brks) + 1), 0) %>%
    {paste0("rgb(255,", ., ",", ., ")")}

# 3. DT
datatable(df) %>% formatStyle(names(df), backgroundColor = 
 styleInterval(brks, clrs))

但是如何从“绿色”到“红色”进行相同的着色?

谢谢!

标签: rdt

解决方案


你可以使用colorRampPalette

ramp <- colorRampPalette(c("red", "green"))

然后从 中选择颜色数量length(brks)+1

clrs <- ramp(length(brks)+1)

这是你的想法吗?

颜色渐变红色到绿色的数据表


推荐阅读