如何在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
相关产品推荐
相关产品推荐

