如何在表格(tableGrob)中按大小和颜色编号设置文本格式?
使用AkselA提供的溶液。在中,我尝试增加表格中的字体大小 从这个网站上,我相信解决方案是在“访问表中的现有GROB”部分使用:如何在表格(tableGrob)中按大小和颜色编号设置文本格式?,r,R,使用AkselA提供的溶液。在中,我尝试增加表格中的字体大小 从这个网站上,我相信解决方案是在“访问表中的现有GROB”部分使用: g$grobs[ind][[1]][["gp"]] <- gpar(fontsize=15, fontface="bold"). g$grobs[ind][[1][[“gp”]]]我能够找到这个问题的答案。我能够使用中“42-”提供的解决方案 更改他的代码片段并将其添加到引用问题的末尾 g$grobs[] <- lapply(g$grobs[],
g$grobs[ind][[1]][["gp"]] <- gpar(fontsize=15, fontface="bold").
g$grobs[ind][[1][[“gp”]]]我能够找到这个问题的答案。我能够使用中“42-”提供的解决方案
更改他的代码片段并将其添加到引用问题的末尾
g$grobs[] <-
lapply(g$grobs[],
function(x) modifyList( x, list(gp=list(fontsize=25, cex=1) ) ) )
g$grobs[]您收到了哪些错误?还有,ind
代表什么值?哦,非常抱歉。我没有注意到网站链接也没有上传。“ind”来自这里的一个示例:我试图集成该示例以调整文本大小。此代码不会为我生成任何错误。您能更具体地说明您收到了哪些错误吗?我不知道如何更改这行代码以应用于整个表。它用于选择单元格。如果您将其更改为g$grobs[][][][][][“gp”]]
library(gtable)
library(grid)
library(gridExtra)
library(zoo)
data(iris)
iris <- iris[1:4, 1:3]
rownames(iris) <- as.character(as.yearmon(
seq(as.Date("2000/1/1"), as.Date("2000/4/1"), by = "month")))
iris$RankColumn <- 1:nrow(iris)
# a simple function to scale each row or column to the range [0, 1]
# will convert characters to numerics if in a sensible format
norm <- function(x, mar=2) {
rnames <- rownames(x)
x <- apply(x, 2, as.numeric)
x <- apply(x, mar, function(y){(y-min(y))/(max(y)-min(y))})
rownames(x) <- rnames
x
}
# function to pad with zero
# by default does not pad integers
zeropad <- function(x, nz=1, exc.int=TRUE) {
if (is.integer(x) & exc.int) {
x
} else {
sprintf(paste0("%.", nz, "f"), x)
}
}
bluecol <- colorRamp(c("#3366EE", "#AABBFF", "#DDDDFF"))(norm(iris))
bluecol <- rgb(bluecol[, 1], bluecol[, 2], bluecol[, 3], max=255)
tt <- ttheme_default(core=list(bg_params=list(fill=bluecol)))
# convert floats to zero-padded characters
iris[1:ncol(iris)] <- sapply(iris, zeropad, 2)
g <- tableGrob(iris, theme=tt)
g <- gtable_add_grob(g,
grobs = rectGrob(gp = gpar(fill = NA, lwd = 2)),
t = 2, b = nrow(g), l = 1, r = ncol(g))
g <- gtable_add_grob(g,
grobs = rectGrob(gp = gpar(fill = NA, lwd = 2)),
t = 1, l = 1, r = ncol(g))
g$grobs[] <-
lapply(g$grobs[],
function(x) modifyList( x, list(gp=list(fontsize=25, cex=1) ) ) )
plot.new()
grid.draw(g)