首页 > 解决方案 > 突出显示 R 中 grid.table/tableGrob 中的特定列

问题描述

我想将表格的特定列突出显示为不同的颜色。

当我使用 grid.table 将其保存为图像时,这就是现在表格的显示方式。

在此处输入图像描述

我希望突出显示 RMSE 和 MAPE 列,因此应该是不同的颜色,比如黄色。

我正在使用以下代码,但只有列标题被突出显示,而不是数据。

cols <- c("grey90","grey90", "yellow", "grey90","grey90", "yellow", "grey90",
          "grey90", "grey90", "grey90")
t1 <- ttheme_default(
  core=list(bg_params = list(col=cols)),
  colhead=list(bg_params = list(fill=cols)))

这就是桌子之后的样子。

在此处输入图像描述

标签: rgridextrar-grid

解决方案


当传递一个颜色向量时,它的长度必须与元素总数 (18) 的长度相同,或者更短/更长,但在这种情况下,它的第一个 nrow 元素将按列循环。

library(gridExtra)

cols <- c("grey90","yellow", "green")
t1 <- ttheme_default(
  core=list(bg_params = list(fill=cols)))

d <- data.frame(matrix(round(rnorm(18)),2,9))
names(d) <- letters[1:9]
grid.newpage()
grid.table(d, theme=t1)

推荐阅读