如何解决gtsummary生成的表格保存为tiff后打开显示空白的问题
gtsummary表格保存为tiff空白的解决方案
问题原因
gtsummary生成的tbl_summary/tbl_regression属于表格类对象,不是R基础绘图、ggplot2等输出的图形对象,直接调用tiff()这类传统绘图设备无法捕获表格内容,因此会生成空白文件。
可行方案
使用gt包的gtsave()函数实现导出,gtsummary对象可直接转换为gt格式后导出tiff,示例代码如下:
# 加载所需包,缺失可先安装 library(gtsummary) library(nnet) library(gt) # 若运行时报依赖缺失,安装webshot2:install.packages("webshot2") # 构造并保存你的回归表格为对象 reg_tbl <- multinom(group ~ time, data = dataset) %>% tbl_regression(exponentiate = TRUE,pvalue_fun = ~style_pvalue(.x, digits = 3)) %>% modify_header(label = "**Variable**") %>% bold_labels() %>% bold_p(t = 0.05) %>% modify_caption("**Table 3. Multinomial Regression**") %>% as_gt() # 转换为gt表格对象,核心步骤 # 导出为tiff格式 gtsave(reg_tbl, filename = "C:\\Users\\name\\Desktop\\folder\\tiff300.tiff", vwidth = 5, # 画布宽度,单位和你原代码的英寸对应 vheight = 5, # 画布高度 zoom = 7) # 缩放系数,zoom=1对应96dpi,7倍约等于672dpi接近你需求的700dpi,可按需调整
参数调整说明
- 如果表格内容被截断,可适当增大
vwidth/vheight参数值 - 需要更高/更低分辨率时,调整
zoom参数即可,最终dpi为 96*zoom - 若需要保留矢量可编辑属性,也可先导出为svg格式,再通过图像工具转换为tiff
内容的提问来源于stack exchange,提问作者joycie
相关产品推荐
相关产品推荐

