0

我正在尝试使用包gt此处)来构建表格。 gt使用 scales 包中的颜色映射函数根据值填充表格单元格。我试图让负值填充红色和非负填充绿色。一个简单的例子

library(magrittr)
library(gt)

column_one <- c("Larry", "Moe", "Curly", "Bob")
column_two <- c(-500, 30000, 0, 100)

dframe <- data.frame(column_one, column_two, stringsAsFactors = FALSE)

names(dframe)[1] <- "Name"
names(dframe)[2] <- "Change"

dframe %>% gt() %>%
  data_color(
    columns=vars(Change),
    colors = scales::col_bin(
      palette = c("red", "green"),
      bins=2,
      domain = NULL
    )
  )

生成此表

在此处输入图像描述

我不想要内插的芥末黄色......只是红色或绿色。

gt文档

颜色映射函数是:scales::col_quantile()、scales::col_bin()、scales::col_numeric() 和 scales::col_factor()

任何有关如何实现这一目标的帮助将不胜感激。

4

1 回答 1

1

您可以使用bins指定要中断数据的切点。尝试:

library(magrittr)
library(gt)

dframe %>% gt() %>%
  data_color(
    columns = vars(Change),
    colors = scales::col_bin(
      bins = c(-Inf, 0, Inf),
      palette = c("red", "green"),
    )
  )

在此处输入图像描述

于 2020-08-20T06:39:18.457 回答