如何修改gt表中组名行的颜色?

问题描述 投票:0回答:1

我想在 gt 表中对组名标签进行着色,以便它与附近的绘图相对应,而不是绘图本身的图例。理想情况下,这种颜色将填充行而不改变文本的颜色。

这个最小的示例不会产生任何错误,但它也没有达到我想要的效果。

library(dplyr)
library(gt)

mtcars |> 
  arrange(carb) |> 
  gt(groupname_col = "carb", rownames_to_stub = T) |> 
  tab_stub_indent(everything(), 5) |> 
  data_color(columns = "carb", palette = "Blues")
r colors gt
1个回答
1
投票

tab_style()
可用于更改单元格的样式。它采用样式和指定样式应用位置的位置作为参数。要使用颜色填充单元格的背景,您可以使用
cell_fill()
cells_row_groups()
可用于选择行组标题行。

由于每个行组标题应具有不同的颜色,因此我在循环中应用样式。我从

RColorBrewer
的调色板“蓝色”中获取颜色。您必须以某种方式找出合适的颜色。

tab <- mtcars |> 
  arrange(carb) |> 
  gt(groupname_col = "carb", rownames_to_stub = TRUE) |> 
  tab_stub_indent(everything(), 5)

values <- unique(mtcars$carb)
colours <- RColorBrewer::brewer.pal(length(values), "Blues")

for (i in seq_along(values)) {
  tab <- tab |>
    tab_style(cell_fill(colours[i]), cells_row_groups(i))
}

tab

我将代码应用于

mtcars
的变体,其中我只为
carb
的每个值保留一行。这就是我得到的:

© www.soinside.com 2019 - 2024. All rights reserved.