如何在gt表格中为两列间最大值单元格设置填充色与白色文本?
用gt工具为指定列的最大值单元格设置样式
你不需要用到tab_options()函数,这个函数主要用来调整表格的全局样式(比如字体、边框等)。要实现为team_1和team_2列的最大值单元格添加蓝色填充、白色文本的需求,可以结合rows参数精准定位目标单元格,再用cell_fill()和cell_text()设置样式。
具体代码如下:
library(gt) dat <- data.frame( team_1 = c(17.6, 33, 6), stat = c("stat1", "stat2", "stat3"), team_2 = c(25.9, 28, 8) ) dat %>% gt() %>% # 为team_1列的最大值单元格设置样式 tab_style( style = list( cell_fill(color = "blue"), cell_text(color = "white") ), locations = cells_body( columns = team_1, rows = team_1 == max(team_1) ) ) %>% # 为team_2列的最大值单元格设置样式 tab_style( style = list( cell_fill(color = "blue"), cell_text(color = "white") ), locations = cells_body( columns = team_2, rows = team_2 == max(team_2) ) )
代码说明:
gt():初始化gt表格对象tab_style():用于给指定位置的单元格添加样式,每个tab_style()对应一列的样式设置cells_body():指定要设置样式的单元格区域,columns参数锁定目标列,rows参数通过team_1 == max(team_1)筛选出该列最大值所在的行cell_fill():设置单元格填充色为蓝色cell_text():设置文本颜色为白色
运行这段代码后,team_1列的33和team_2列的28会被设置为蓝色填充、白色文本,其他单元格保持原样。
内容的提问来源于stack exchange,提问作者user13973103
相关产品推荐
相关产品推荐

