如何在{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
相关产品推荐
相关产品推荐

