问题描述
我有一张桌子:
我需要用value = 0
用红色填充单元格。
我意识到我需要data_color,但是如何设置2种颜色的调色板?如果value==0
为红色,如果value<>0
为白色?
我找到了一个例子:
data_color(
columns = colnames(updates.computers)[2:ncol(updates.computers)],colors = scales::col_numeric(
palette = paletteer::paletteer_d(
palette = "ggsci::red_material",direction = -1
) %>% as.character(),domain = NULL
),alpha = 0.8)
但这不是我所需要的。
我只需要将0的单元格设置为红色,其余所有单元格保持白色。
解决方法
看看scales::col_bin
函数。
通过将数据分成两个bin(从0到1到无穷大),您可以为每个bin指定颜色。
df <- data.frame(A2020 = sample(0:10,12,replace = TRUE),B2020 = sample(0:10,C2020 = sample(0:10,D2020 = sample(0:10,E2020 = sample(0:10,F2020 = sample(0:10,G2020 = sample(0:10,H2020 = sample(0:10,I2020 = sample(0:10,J2020 = sample(0:10,replace = TRUE))
gt(df) %>%
data_color(
columns = everything(),colors = scales::col_bin(
bins = c(0,1,Inf),palette = c("red","white"),)
)
,
谢谢,它有效。代码:
data_color(
columns = colnames(updates.computers)[2:ncol(updates.computers)],"darkseagreen1"),),alpha = 0.8
)
结果: result