Два шрифта лица в 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)

и это мой вывод:

введите описание изображения здесь

Я хотел бы стилизовать шрифт вывода так, чтобы шрифт был выделен только в первом столбце, кто-нибудь знает, как этого добиться?

Спасибо

1 ответ

Решение

grid.table() это просто обертка для grid.draw(tableGrob(...))

Вы можете получить желаемые результаты с помощью некоторых операций Гроба:

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)

Другие вопросы по тегам