R - 将 grid.table 中的列指定为粗体
R - specify columns in grid.table to be bold
我有一个包含 3 列的 table,我正在使用 grid.table 生成 pdf 版本。我希望其中两列为粗体,另一列为纯文本。我还没有找到通用的解决方案,grid.table cran 页面仅向您展示了如何编辑行或特定单元格的字体。
使用小样本数据集(由于敏感性):
> dput(Data)
structure(list(Location = structure(c(1L, 1L, 1L, 2L, 2L, 3L), .Label = c("A", "B", "C"), class = "factor"),
Subloc = structure(1:6, .Label = c("A1","A2", "A3", "B1", "B2", "C1"),
class = "factor"), Type = structure(c(3L,3L, 3L, 1L, 1L, 2L),
.Label = c("Alpha", "Beta", "Meta"),
class = "factor")),
class = "data.frame",
row.names = c(NA, -6L))
我现有的代码:
maxrow <- c(30);
npages <- ceiling(nrow(Data)/maxrow);
pdf(paste0("DATE.pdf"), height = 11, width = 10)
idx <- seq(1, maxrow)
grid.table(Data[idx, ], rows = NULL, theme = ttheme_minimal(core=list(fg_params=list(hjust=0, x=0.1, fontface = c("bold"))),
rowhead=list(fg_params=list(hjust=0, x=0)), colhead=list(fg_params=list(fontsize = 14, col="#660066", fontface="bold"))))
for (i in 2:npages){
grid.newpage();
if(i*maxrow <= nrow(Data)) {
idx <- seq(1+((i-1)*maxrow), i*maxrow)} else{
idx <- seq(1+((i-1)*maxrow), nrow(Data))}grid.table(Data[idx,], rows =NULL,theme = ttheme_minimal(core=list(fg_params=list(hjust=0, x=0.1)), rowhead=list(fg_params=list(hjust=0, x=0)),colhead=list(fg_params=list(fontsize = 14, col="#660066", fontface="bold"))))
}dev.off()
我想将 Location 和 Type 列(不是 headers 列)中的数据设为粗体。我已经设法在 fg_params=list 包装器中将所有列内容加粗,但不知道如何指定我想要这种处理的列。
试试这个
library(gridExtra)
tt <- ttheme_default()
tt$core$fg_params <- list(fontface=matrix(c(1,2,3), ncol=ncol(d),nrow=nrow(d),byrow=TRUE))
grid.table(d, theme=tt)
代码输出:
我有一个包含 3 列的 table,我正在使用 grid.table 生成 pdf 版本。我希望其中两列为粗体,另一列为纯文本。我还没有找到通用的解决方案,grid.table cran 页面仅向您展示了如何编辑行或特定单元格的字体。
使用小样本数据集(由于敏感性):
> dput(Data)
structure(list(Location = structure(c(1L, 1L, 1L, 2L, 2L, 3L), .Label = c("A", "B", "C"), class = "factor"),
Subloc = structure(1:6, .Label = c("A1","A2", "A3", "B1", "B2", "C1"),
class = "factor"), Type = structure(c(3L,3L, 3L, 1L, 1L, 2L),
.Label = c("Alpha", "Beta", "Meta"),
class = "factor")),
class = "data.frame",
row.names = c(NA, -6L))
我现有的代码:
maxrow <- c(30);
npages <- ceiling(nrow(Data)/maxrow);
pdf(paste0("DATE.pdf"), height = 11, width = 10)
idx <- seq(1, maxrow)
grid.table(Data[idx, ], rows = NULL, theme = ttheme_minimal(core=list(fg_params=list(hjust=0, x=0.1, fontface = c("bold"))),
rowhead=list(fg_params=list(hjust=0, x=0)), colhead=list(fg_params=list(fontsize = 14, col="#660066", fontface="bold"))))
for (i in 2:npages){
grid.newpage();
if(i*maxrow <= nrow(Data)) {
idx <- seq(1+((i-1)*maxrow), i*maxrow)} else{
idx <- seq(1+((i-1)*maxrow), nrow(Data))}grid.table(Data[idx,], rows =NULL,theme = ttheme_minimal(core=list(fg_params=list(hjust=0, x=0.1)), rowhead=list(fg_params=list(hjust=0, x=0)),colhead=list(fg_params=list(fontsize = 14, col="#660066", fontface="bold"))))
}dev.off()
我想将 Location 和 Type 列(不是 headers 列)中的数据设为粗体。我已经设法在 fg_params=list 包装器中将所有列内容加粗,但不知道如何指定我想要这种处理的列。
试试这个
library(gridExtra)
tt <- ttheme_default()
tt$core$fg_params <- list(fontface=matrix(c(1,2,3), ncol=ncol(d),nrow=nrow(d),byrow=TRUE))
grid.table(d, theme=tt)
代码输出: