R语言grid.table列头背景色与字体大小自定义相关问题咨询
要解决你提出的两个问题,只需调整ttheme_default中列头(colhead)的对应配置即可,修改逻辑如下:
- 自定义列头背景色:在
colhead配置项中新增bg_params参数,通过fill字段指定你想要的背景色(比如黄色填"yellow"或者十六进制色值"#FFFF00") - 单独修改列头字体大小:在
colhead的fg_params配置中新增fontsize字段,直接传入数值指定字号即可
修改后的完整函数代码
func_table_image <- function(df, col_header_color='navyblue', col_header_fontface=4, col_header_bg='yellow', # 新增列头背景色参数 col_header_fontsize=14, # 新增列头字体大小参数 show_rows_header=F, use_sample_df=F){ if(use_sample_df){ df <- data.frame(TICKER=c("IBM", "APPL", "ZM", "NKE", "GS"), SECTOR=c('Technology',"Technology","Software","Consumer","Financials"), PX_CHG=c(4.2, 10, 29.5, 9, 31), stringsAsFactors = F) } t1 <- ttheme_default( # 列头配置:同时配置前景(文字)和背景属性 colhead=list( fg_params=list( col=col_header_color, fontface = col_header_fontface, fontsize = col_header_fontsize # 新增指定列头字号 ), bg_params=list( fill = col_header_bg, # 新增指定列头背景色 col = NA # 可以按需设置列头边框颜色,NA为无边框 ) ), core=list( fg_params=list(fontface=3) ), # 表格内容行背景配置 bg_params = list( fill=c(rep(c("#DDE6F7", "#FFECDB"), length.out=nrow(df))), col=NA ) ) if(show_rows_header){ grid.table(df, theme = t1) }else{ grid.table(df, theme = t1, rows = NULL) } } # 调用示例 func_table_image(df, col_header_color='navyblue', col_header_fontface=4, col_header_bg='yellow', col_header_fontsize=14, use_sample_df=T)
如果你不需要做成可配置参数,直接在对应位置写死色值和字号也可以正常生效。
内容的提问来源于stack exchange,提问作者Angelo
相关产品推荐
相关产品推荐

