1

有没有办法tableGrob通过主题来改变特定行的颜色和格式(加粗)?

我使用以下输出tableGrob

然而,我想达到以下审美,使特定的线条变粗,并像这个例子一样改变它们的颜色:

基于以下示例:在此处输入链接描述

 t1 <- ttheme_default(core=list(
        fg_params=list(fontface=c(rep("plain", 4), "bold.italic")),
        bg_params = list(fill=c(rep(c("grey95", "grey90"),
                                    length.out=4), "#6BAED6"),
                         alpha = rep(c(1,0.5), each=5))
        ))

grid.table(iris[1:5, 1:3], theme = t1)

行的颜色每 4 行更改一次。结果是: 结果

但是,我需要根据情况具体说明。

4

1 回答 1

1

如果您戳我评论中有关如何“查找” grobs 的链接,那么您可以执行以下操作:

library(grid)
library(gridExtra)

tg <- tableGrob(iris[1:5, 1:3])

for (i in c(19,24,29)) tg$grobs[[i]] <- editGrob(tg$grobs[[i]], gp=gpar(col="white"))
for (i in c(34,39,44)) tg$grobs[[i]] <- editGrob(tg$grobs[[i]], gp=gpar(fill="blue"))

grid.newpage()
grid.draw(tg)

在此处输入图像描述

如果这是常规的参数化报告,那么它是一个“一次性”的操作来计算单元格位置并应用您的自定义格式。

否则,一定要开发一组样式函数来定位“单元格”,就像在谷歌表格或 Excel 中一样。

于 2018-01-16T16:34:32.127 回答