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

如何在{gt}中实现带圆角的填充色单元格效果?

在gt包中实现带圆角的填充单元格

要让gt表格里带填充色的单元格变成圆角矩形,用gt自带的样式工具结合CSS的border-radius属性就能搞定,不用额外依赖formattable。下面是具体实现方法:

1. 先搭基础表格并设置填充色

先造点示例数据,给目标单元格加上填充色:

library(gt)

# 示例数据
data <- data.frame(
  产品 = c("A", "B", "C", "D"),
  销量 = c(120, 230, 90, 180),
  增长率 = c(5.2, 12.5, -3.1, 8.7)
)

# 初始化表格并设置填充色
gt_table <- gt(data) %>%
  # 销量超150的单元格设为浅绿
  tab_style(
    style = cell_fill(color = "#90EE90"),
    locations = cells_body(columns = 销量, rows = 销量 > 150)
  ) %>%
  # 增长率为正的单元格设为浅粉
  tab_style(
    style = cell_fill(color = "#FFB6C1"),
    locations = cells_body(columns = 增长率, rows = 增长率 > 0)
  )

2. 添加圆角样式

全局给所有填充单元格加圆角

如果想让所有带填充色的单元格都有圆角,直接用tab_options()统一设置:

gt_table %>%
  tab_options(table.body.cell.border.radius = px(5))

只给特定单元格加圆角

要是只想给某部分单元格设置圆角,就在tab_style里直接加CSS样式:

gt_table %>%
  tab_style(
    style = list(
      cell_fill(color = "#90EE90"),
      htmltools::css(border_radius = "5px")  # 关键的圆角设置
    ),
    locations = cells_body(columns = 销量, rows = 销量 > 150)
  )

这样设置后,带填充色的单元格就会变成你想要的圆角矩形样式,和formattable的效果一致。


内容的提问来源于stack exchange,提问作者Bastián Olea Herrera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:42:09