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

如何在Quarto文档中创建不受主题影响且含ggplot的表格?

在Quarto中创建不受主题影响的带图GT表格

方法一:用gt的opt_css()覆盖Quarto样式

Quarto的主题样式会通过全局CSS作用于所有表格,我们可以用gt的opt_css()方法注入自定义CSS,重置表格样式以还原gt默认外观,同时保留表格内的ggplot图片。

修改你的代码,在gt管道最后添加opt_css()并传入重置样式的CSS:

penguin_weights |>
  gt() |>
  tab_spanner(
    label = 'Penguin\'s Weight',
    columns = -Species
  ) |>
  text_transform(
    locations = cells_body(columns = 'Distribution'),
    fn = function(column) {
      map(column, ~plot_density_species(., body_mass_g)) |>
        ggplot_image(height = px(50), aspect_ratio = 3)
    }
  ) |>
  # 注入自定义CSS,覆盖Quarto的表格主题样式
  opt_css(
    css = "
    .gt_table {
      border-collapse: separate !important;
      border-spacing: 0 !important;
      border: none !important;
      background-color: transparent !important;
    }
    .gt_table th, .gt_table td {
      border-color: #dee2e6 !important;
      padding: 0.5rem !important;
    }
    .gt_table th {
      background-color: #f8f9fa !important;
      font-weight: bold !important;
    }
    .gt_table .gt_row {
      background-color: transparent !important;
    }
    "
  )

这段CSS会强制覆盖Quarto主题对表格的默认样式,还原gt的基础视觉效果,且不会影响表格内图片的正常渲染。

方法二:导出GT表格为独立HTML再引入

如果不想编写CSS,可以先将gt表格导出为单独的HTML文件,再通过Quarto的include_html()函数引入,这样Quarto不会给外部HTML片段应用主题样式,图片也能完整保留。

步骤1:导出GT表格到HTML文件

在R环境中运行以下代码生成独立表格HTML:

gt_table <- penguin_weights |>
  gt() |>
  tab_spanner(
    label = 'Penguin\'s Weight',
    columns = -Species
  ) |>
  text_transform(
    locations = cells_body(columns = 'Distribution'),
    fn = function(column) {
      map(column, ~plot_density_species(., body_mass_g)) |>
        ggplot_image(height = px(50), aspect_ratio = 3)
    }
  )

# 导出到本地HTML文件
gtsave(gt_table, "penguin_table.html")

步骤2:在Quarto文档中引入

在Quarto的代码块中使用include_html()加载生成的HTML:

knitr::include_html("penguin_table.html")

引入后的表格会保持gt原本的样式,不会被Quarto主题修改,同时图片可正常显示。

内容的提问来源于stack exchange,提问作者AlbertRapp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:45:41