【发布时间】:2018-01-16 14:50:40
【问题描述】:
有没有办法通过主题告诉tableGrob 更改特定行的颜色和格式(加粗)?
我使用tableGrob 得到以下输出:
然而,我希望达到以下审美,并将特定线条加粗并更改其颜色,如下例所示:
基于以下示例:enter link description here
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 行更改一次。结果是: result
但是,我需要根据具体情况进行具体说明。
【问题讨论】:
-
请在您的问题中添加可重现的示例。您可以使用kableExtra 轻松实现想要的结果
-
您可以使用其他软件包还是想坚持使用
tableGrob? -
@PoGibas 感谢您的回复。是的,不幸的是,就我而言,我必须坚持使用 tableGrob,它是生成网格报告并将图表 (ggplot2) 和表格与网格在同一页面上组合的唯一方法。我已经实现了这一点,但我不知道如何使用 tableGrob 更改颜色和格式化特定行。我的组织不允许运行 R-studio 或 html,因此 kableExtra 可能不是可实现的解决方案。
-
不难将stackoverflow.com/questions/18414001/… 概括为您的情况,只需更改背景 grob 参数即可。
-
只需创建一个与数据行数相等的颜色向量。例如。
dat <- iris[1:10, 1:3] ; cols <- rep("grey95", nrow(dat)) ; rowsToChange <- c(1,5,9) ; cols[rowsToChange] <- "red" ; t1 <- ttheme_default(core=list(bg_params = list(fill=cols))) ; grid.table(iris[1:10, 1:3], theme = t1)