grid.tables 中的两种字体

Two font faces in grid.tables

我创建了一个 grid.table 对象来在 PowerBi 中显示数据框,下面是我的代码:

library(reshape)
library(gridExtra)
library(grid)
mydf <- data.frame(id = c(1:5), value = c("A","B","C","D","E"))
mytheme <- ttheme_default(base_size = 10,
                          core=list(fg_params=list(hjust=0, x=0.01),
                                    bg_params=list(fill=c("white", "lightgrey"))))

grid.table(mydf,cols = NULL, theme = mytheme, rows = NULL)

这是我的输出:

我想设置输出字体的样式,以便只有第一列的字体为粗体,有人知道如何实现吗?

谢谢

grid.table() 只是 grid.draw(tableGrob(...))

的包装

您可以通过一些 Grob 手术获得您想要的结果:

library(grid)
library(gridExtra)

mydf <- data.frame(id = c(1:5), value = c("A","B","C","D","E"))

mytheme <- ttheme_default(base_size = 10, 
                          core = list(fg_params=list(hjust=0, x=0.01),
                                      bg_params=list(fill=c("white", "lightgrey"))))

制作 tableGrob:

tg <- tableGrob(mydf, cols = NULL, theme = mytheme, rows = NULL)

编辑 tableGrob(第 1 列是前 5 个位置):

for (i in 1:5) {
  tg$grobs[[i]] <- editGrob(tg$grobs[[i]], gp=gpar(fontface="bold"))
}

我喜欢使用新页面作为示例,但您可以将其删除,因为 grid.table() 也不使用它:

grid.newpage()
grid.draw(tg)