You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 00:10:14