R gt包如何设置表格表头与列标签区域的单元格内边距?
解决方案
gt目前已经提供了两种可行的方案来控制表头、列标签区域的内边距:
方法1:使用tab_options()原生参数(操作最简单,推荐)
官方已经内置了对应参数,直接在tab_options()中配置即可:
- 控制表头(标题、副标题区域)内边距:
heading.padding - 控制列标签区域内边距:
column_labels.padding
示例代码如下:
library(gt) gt_tbl <- gt(data = mtcars) %>% tab_header( title = "mtcars dataset") %>% tab_options( data_row.padding = px(35), # 表头区域内边距 heading.padding = px(40), # 列标签区域内边距 column_labels.padding = px(25) ) gt_tbl
方法2:使用tab_style()自定义样式(灵活度更高)
如果需要更细粒度的控制,比如单独调整上下左右四个方向的内边距、只修改某一列的列标签内边距,可以用tab_style()指定目标位置修改样式:
gt_tbl <- gt(data = mtcars) %>% tab_header( title = "mtcars dataset") %>% tab_options(data_row.padding = px(35)) %>% # 自定义表头内边距,四个值依次对应上、右、下、左 tab_style( style = cell_text(padding = "30px 10px 30px 10px"), locations = cells_title() ) %>% # 自定义所有列标签的内边距 tab_style( style = cell_text(padding = "20px 5px"), locations = cells_column_labels() ) gt_tbl
如果使用的是非常旧版本的gt,原生参数未生效时,用该方法也可以正常实现效果。
内容的提问来源于stack exchange,提问作者trippy
相关产品推荐
相关产品推荐

