R gridExtra:动态修改单个 tableGrob 的主题?
R gridExtra: modify theme on the fly for a single tableGrob?
我在这里阅读了 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)
我想知道是否可以为特定的 tableGrob 修改主题 "on-the-fly",例如:
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)
最后一段代码不起作用,但我想做的是即时修改主题 "tt1" 以仅针对第一个 tableGrob 更改核心文本大小,而不永久更改主题 "tt1".
谢谢!
主题似乎只是列表。您可以使用 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)
我在这里阅读了 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)
我想知道是否可以为特定的 tableGrob 修改主题 "on-the-fly",例如:
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)
最后一段代码不起作用,但我想做的是即时修改主题 "tt1" 以仅针对第一个 tableGrob 更改核心文本大小,而不永久更改主题 "tt1".
谢谢!
主题似乎只是列表。您可以使用 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)