用红色填充值为 0 的单元格
Fill cells with value = 0 with Red color
我有一个 table:
我需要用红色 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, 12, replace = TRUE),
C2020 = sample(0:10, 12, replace = TRUE),
D2020 = sample(0:10, 12, replace = TRUE),
E2020 = sample(0:10, 12, replace = TRUE),
F2020 = sample(0:10, 12, replace = TRUE),
G2020 = sample(0:10, 12, replace = TRUE),
H2020 = sample(0:10, 12, replace = TRUE),
I2020 = sample(0:10, 12, replace = TRUE),
J2020 = sample(0:10, 12, 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)],
colors = scales::col_bin(
bins = c(0, 1, Inf),
palette = c("red", "darkseagreen1"),
),
alpha = 0.8
)
结果:
result
我有一个 table:
我需要用红色 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, 12, replace = TRUE),
C2020 = sample(0:10, 12, replace = TRUE),
D2020 = sample(0:10, 12, replace = TRUE),
E2020 = sample(0:10, 12, replace = TRUE),
F2020 = sample(0:10, 12, replace = TRUE),
G2020 = sample(0:10, 12, replace = TRUE),
H2020 = sample(0:10, 12, replace = TRUE),
I2020 = sample(0:10, 12, replace = TRUE),
J2020 = sample(0:10, 12, 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)],
colors = scales::col_bin(
bins = c(0, 1, Inf),
palette = c("red", "darkseagreen1"),
),
alpha = 0.8
)
结果: result