You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据单元格字符值为gt表格单元格着色:FSRA红、DGCM蓝、CDIC黄

使用gt包按单元格字符值设置背景填充色

要实现gt表格中按单元格字符值着色(FSRA填红色、DGCM填蓝色、CDIC填黄色),可以借助gt包的data_color()函数结合scales包的颜色映射功能完成,完整代码如下:

library(gt)
library(tidyverse)

# 定义监管机构类型的因子水平(可选,用于规范数据顺序)
ins_levels <- c("CDIC", "DGCM", "FSRA")

# 构造示例数据框
df <- tibble(
  公司标识 = letters[1:5],
  监管机构 = factor(c("FSRA", "CDIC", "CDIC", "DGCM", "DGCM"), ins_levels)
)

# 生成带背景色的gt表格
df |> gt() |> 
  data_color(
    columns = 监管机构,  # 指定要设置颜色的目标列
    colors = scales::col_factor(
      palette = c("red", "yellow", "blue"),  # 颜色映射:与domain值一一对应
      domain = c("FSRA", "CDIC", "DGCM")     # 需要匹配的字符值
    ),
    apply_to = "fill",          # 将颜色应用于单元格背景填充
    autocolor_text = FALSE      # 不自动调整文本颜色,保持默认样式
  )

核心逻辑说明

  • data_color()是gt包中用于为数据单元格设置颜色的核心函数
  • scales::col_factor()用于创建字符/因子值到颜色的精准映射,确保每个目标字符对应指定的填充色
  • apply_to = "fill"明确将颜色作用于单元格背景,而非文本本身
  • autocolor_text = FALSE关闭文本颜色自动适配,避免背景色变化导致文本可读性异常

内容的提问来源于stack exchange,提问作者ixodid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:11:09