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

如何在R的gt表格表头中放大本地图片并使其跨两行标题文本?

实现gt包表头图片覆盖两行标题的方法

可以实现这个需求,核心是通过自定义HTML样式控制图片高度,让它匹配表头两行标题的高度,同时调整图片与文本的对齐方式。

修改后的完整代码

library(tidyverse)
library(gt)

pizza_filename <- file.path("C:", "Documents", "pizza.png")

pizzaplace %>%
  mutate(type = case_when(
    type == "chicken" ~ "chicken (pizzas with chicken as a major ingredient)",
    type == "classic" ~ "classic (classical pizzas)",
    type == "supreme" ~ "supreme (pizzas that try a little harder)",
    type == "veggie" ~ "veggie (pizzas without any meats whatsoever)",
  )) %>%
  mutate(size = factor(size, levels = c("S", "M", "L", "XL", "XXL"))) %>%
  dplyr::group_by(type, size) %>%
  dplyr::summarize(
    sold = n(),
    income = sum(price)
  ) %>%
  gt(rowname_col = "size") %>%
  tab_header(
    title = html(
      # 设置图片高度,匹配两行文本高度,可根据实际效果调整数值
      gt::local_image(pizza_filename, height = "60px"),
      "<div style='display: inline-block; vertical-align: middle;'>",
      "<b>Pizzas Sold</b><br>in 2015",
      "</div>"
    )
  ) %>%
  fmt_number(
    columns = vars(sold),
    decimals = 0,
    use_seps = TRUE
  )

关键调整说明

  • 通过gt::local_image的height参数设置图片高度(示例用"60px"),可根据标题文本的实际行高微调数值,直到图片能覆盖两行标题区域。
  • 用div包裹标题文本并设置vertical-align: middle,让文本与图片垂直居中对齐,保证整体布局协调。
  • 如果需要更精细的视觉控制,可额外添加margin(图片边距)或line-height(文本行高)属性优化效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 00:53:27