【问题标题】:How to change text colour of single cell in Kable Extra?如何更改 Kableextra 中单个单元格的文本颜色?
【发布时间】:2021-05-22 13:01:05
【问题描述】:

有没有办法改变单个单元格/多个单元格的文本颜色?

例如,我有一个表格,我将所有文本的颜色更改为红色。 但我希望对角线颜色为蓝色

有没有办法做到这一点?

我已尝试使用testStats[1, 2] <- cell_spec(testStats[1, 2], "latex", color = "blue") 更改一个单元格的颜色。

但似乎不起作用。

library(kaleExtra)

test = iris
testStats = as.data.frame(apply(iris[,1:4], 2, summary))

kable(testStats, booktabs =TRUE,caption = "Sample") %>%
  kable_styling(latex_options = c('hold_position')) %>%
  column_spec(2:5, color = "red")


  testStats[1, 2] <- cell_spec(testStats[1, 2], "latex", color = "blue")

【问题讨论】:

标签: r kableextra


【解决方案1】:

您可以在循环中使用cell_spec 来更改多个单元格。对于对角线,您可以这样做 -

library(kableExtra)

test = iris
testStats = as.data.frame(round(apply(iris[,1:4], 2, summary), 2))
for(i in seq_along(testStats)) {
  testStats[i, i] <- cell_spec(testStats[i, i], "html", color = "blue")
}

kable(testStats, 'html', booktabs =TRUE,caption = "Sample", escape = FALSE) %>%
  kable_styling(latex_options = c('hold_position')) %>%
  column_spec(2:5, color = "red")

【讨论】:

  • 您好,谢谢您的建议。但是,当我将它编织成 pdf 时,这似乎不起作用。我也尝试将 for 循环中的行更改为 testStats[i, i] &lt;- cell_spec(testStats[i, i], "latex", color = "blue") 但是当我编织成 pdf 时,它将显示为红色的 \textcolor{blue}{0}。无论如何在pdf中实现这一点?
猜你喜欢
  • 1970-01-01
  • 2014-12-20
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多