我需要更改用 knitr::kable 打印的表格标题的背景颜色。我可以使用 kableExtra::column_spec
来更改整列的背景,但它不会影响标题行:
library(knitr)
library(kableExtra)
kable(data.frame(a = 1, b = 2)) %>%
column_spec(1, background = "yellow")
![enter image description here](https://i.sstatic.net/6SDtt.png)
想要的结果:
kable
输出,其中 a
列的标题具有黄色背景(表格的其余部分为白色背景)。![enter image description here](https://i.sstatic.net/QIy6B.png)
最佳答案
您可以使用 cell_spec
执行此操作。例如,
df <- data.frame(a = 1, b = 2)
names(df)[1] <- cell_spec(names(df)[1], background = "yellow")
kable(df, escape = FALSE)
对我来说,这不会在 RStudio 中自动显示;您需要通过
kableExtra
函数将其通过管道传输来执行此操作。例如,这个管道除了标记要显示的表格之外什么都不做。kable(df, escape = FALSE) %>% column_spec(1)
会显示
![screenshot](https://i.sstatic.net/G3WYV.png)
另一种方法是将包括标题在内的整列设置为黄色,然后将非标题部分设置为继承的颜色。你这样做:
kable(df) %>%
column_spec(1, background = "yellow", include_thead = TRUE) %>%
column_spec(1, background = "inherit")
这个以凌乱的 HTML 结束,但间距看起来好一点:
![screenshot 2](https://i.sstatic.net/Nnmd9.png)
关于r - 更改 knitr::kable 标题的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53188034/