如何为gt表格的上下左右边缘添加更多边距空间?
解决gt表格边缘空间紧凑及列溢出问题
以下是几种可行的解决方法:
方法1:通过tab_options()设置表格边距
gt的tab_options()内置了控制表格四周外边距的参数,直接设置具体长度值即可增大边缘空间,单位支持px、em等:
library(gt) p <- mtcars %>% select(cyl:wt) %>% head() %>% gt() %>% # 设置上下左右边距为20像素 tab_options( table.margin.top = "20px", table.margin.right = "20px", table.margin.bottom = "20px", table.margin.left = "20px" ) gtsave(p, file='test.png', vwidth=1000, vheight=600, zoom=1)
方法2:调整列宽避免内容溢出
若最后一列超出表格区域,可配合cols_width()手动指定列宽,或让列自动适配内容,从根源解决溢出问题:
library(gt) p <- mtcars %>% select(cyl:wt) %>% head() %>% gt() %>% tab_options( table.margin.top = "20px", table.margin.right = "20px", table.margin.bottom = "20px", table.margin.left = "20px" ) %>% # 自定义列宽,最后一列设为150px,其余列自动适配 cols_width( wt ~ px(150), everything() ~ px(80) ) gtsave(p, file='test.png', vwidth=1000, vheight=600, zoom=1)
方法3:用htmltools包裹表格添加外层边距
如果需要更大的边缘空间,可将gt表格包裹在HTML的div容器中,通过CSS样式设置外层边距:
library(gt) library(htmltools) p <- mtcars %>% select(cyl:wt) %>% head() %>% gt() # 用div包裹表格,设置上下左右40px的外边距 table_with_margin <- div(p, style = "margin: 40px;") # 保存带外层边距的表格 gtsave(table_with_margin, file='test.png', vwidth=1000, vheight=600, zoom=1)
内容的提问来源于stack exchange,提问作者ah bon
相关产品推荐
相关产品推荐

