R语言gt包表格:如何居中stubhead区域的标签?
解决gt包中Stubhead标签居中的问题
在gt包中,cols_align()和opt_align_table_header()仅作用于数据列或表头区域,无法直接控制stubhead(行标题列的表头)的对齐方式,再加上你使用的gt_theme_espn()主题默认给stubhead设置了左对齐样式,导致常规方法失效。
你可以通过tab_style()函数直接针对stubhead单元格设置对齐样式,以下是修改后的完整代码:
df=data.frame(indicador= c("MAP","MAC","MB", "REP","APU"), actual= c(100,100,100,200,200), anual=c(1,2,3,4,5), rep=c(0.78,0.21,0.54,0.33,0.7), var=c(1.2,1.2,1.5,1.3,1.1)) df %>% mutate(NewRowNames=c("MONTO APUESTA","MONTO ACIERTO", "MARGEN BRUTO","REPAGO","APUESTAS")) %>% column_to_rownames(var="NewRowNames") %>% select(-indicador) %>% select(-rep) %>% gt(rownames_to_stub = T) %>% tab_stubhead(label="INDICADOR") %>% tab_header(title = md("**KPI´s REPORTE SEMANAL**")) %>% fmt_currency(rows = c(1,2,3), columns= c(2,3), dec_mark = ",", sep_mark = ".", decimals = 0) %>% fmt_percent(columns = c("var"), scale_values = T) %>% fmt_number(rows = 5, columns= c(2,3), sep_mark = ".", dec_mark = ",", decimals = 0) %>% fmt_percent(columns = c(2,3), rows=4, scale_values = T) %>% cols_align(align = "center", columns = everything()) %>% gt_theme_espn() %>% # 添加这部分代码设置stubhead居中,放在主题之后以覆盖默认样式 tab_style( style = cell_text(align = "center"), locations = cell_stubhead() ) %>% opt_align_table_header(align="center")
关键说明
cell_stubhead()用于精准选中stubhead所在的单元格cell_text(align = "center")设置该单元格内文本居中对齐- 将
tab_style()放在主题应用之后,确保自定义样式能覆盖主题默认的左对齐设置
内容的提问来源于stack exchange,提问作者Emiliano Barone
相关产品推荐
相关产品推荐

