如何在gtsummary或flextable中去除表格背景色?
去除Quarto渲染Word时gtsummary表格的背景色
问题描述
我正在使用Quarto撰写结果报告并渲染为MS Word文档,希望通过代码修改去除输出表格的背景色,而非逐个手动编辑表格。当前使用的示例代码如下:
#| echo: false #| warning: false #| error: false #| label: tbl-coef #| tbl-cap: "Coeficiente de regressão" library(tidyverse) library(gtsummary) library(flextable) lm(price~carat,data=diamonds) %>% tbl_regression() %>% as_flex_table()
打开生成的Word文档时,表格显示白色背景,需要通过代码调整布局解决。
解决方案
方法1:单个表格设置透明背景
在转换为flextable后,使用bg()函数将所有单元格的背景色设置为透明,让表格继承Word文档的背景样式:
#| echo: false #| warning: false #| error: false #| label: tbl-coef #| tbl-cap: "Coeficiente de regressão" library(tidyverse) library(gtsummary) library(flextable) lm(price~carat,data=diamonds) %>% tbl_regression() %>% as_flex_table() %>% # 为所有区域(表头、表体、表注)设置透明背景 bg(part = "all", bg = "transparent")
方法2:全局修改gtsummary主题
如果报告中有多个表格,可通过修改gtsummary的全局主题,让所有生成的表格默认不带背景色:
#| echo: false #| warning: false #| error: false #| label: tbl-coef #| tbl-cap: "Coeficiente de regressão" library(tidyverse) library(gtsummary) library(flextable) # 配置gtsummary主题,去除所有表格背景 theme_gtsummary_compact() %>% modify_table_styling( locations = all_locations(), style = list(bg_color = "transparent") ) %>% set_gtsummary_theme() lm(price~carat,data=diamonds) %>% tbl_regression() %>% as_flex_table()
说明
- 方法1仅对当前表格生效,适合单表格场景;
- 方法2全局生效,无需重复修改每个表格,适合多表格的报告。
内容的提问来源于stack exchange,提问作者Matheus De Luna
相关产品推荐
相关产品推荐

