我在这里阅读了Baptiste对gridextra tableGrob函数的出色解释:https://github.com/baptiste/gridextra/wiki/tableGrob
从他关于审美格式的部分:
tt1 <- ttheme_default()
tt2 <- ttheme_minimal()
tt3 <- ttheme_minimal(
core=list(bg_params = list(fill = blues9[1:4], col=NA),
fg_params=list(fontface=3)),
colhead=list(fg_params=list(col="navyblue", fontface=4L)),
rowhead=list(fg_params=list(col="orange", fontface=3L)))
grid.arrange(
tableGrob(iris[1:4, 1:2], theme=tt1),
tableGrob(iris[1:4, 1:2], theme=tt2),
tableGrob(iris[1:4, 1:2], theme=tt3),
nrow=1)
我想知道是否有可能修改一个主题&#34;在飞行中&#34;对于特定的tableGrob,例如:
grid.arrange(
tableGrob(iris[1:4, 1:2], theme=tt1 + theme_default(core=list(fg_params=list(cex=0.7))),
tableGrob(iris[1:4, 1:2], theme=tt2),
tableGrob(iris[1:4, 1:2], theme=tt3),
nrow=1)
这最后一段代码不起作用,但我想做的是修改主题&#34; tt1&#34;即时更改第一个tableGrob的核心文本大小,无需永久更改主题&#34; tt1&#34;。
谢谢!
答案 0 :(得分:1)
主题似乎只是列表。您可以使用modifyList
更新列表的属性。例如
grid.arrange(
tableGrob(iris[1:4, 1:2], theme=modifyList(tt1, list(core=list(fg_params=list(cex=0.7))))),
tableGrob(iris[1:4, 1:2], theme=tt2),
tableGrob(iris[1:4, 1:2], theme=tt3),
nrow=1)