Изменить цвет фона заголовков knitr :: kable - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужно изменить цвет фона заголовков таблицы, напечатанной с помощью 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

Требуемый результат: Вывод kable, в котором заголовок столбца a имеет желтый фон (а остальная часть таблицы - белый фон).

enter image description here

1 Ответ

0 голосов
/ 07 ноября 2018

Вы можете сделать это, используя 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

Другой способ сделать это - установить весь столбец, включая заголовок, на желтый, а затем установить часть без заголовка на унаследованный цвет. Вы делаете это так:

kable(df) %>% 
  column_spec(1, background = "yellow", include_thead = TRUE) %>%
  column_spec(1, background = "inherit")

В итоге получается грязный HTML, но интервал выглядит немного лучше:

screenshot 2

...