如何保存R生成的单页无法容纳的超长植物系统发育树图片
R生成大物种量系统发育树导出解决方案

方案1:突破页面尺寸限制导出单页大图
R图形设备本身没有55cm的尺寸上限,你遇到的限制大概率是ggsave等封装函数的默认校验规则,可通过参数关闭限制并自定义超大尺寸:
- 直接使用基础pdf/png设备导出:
# 导出超大尺寸pdf,单位可指定为cm,尺寸可按需调整 pdf("完整系统发育树.pdf", width = 60, height = 200, units = "cm", useDingbats = FALSE) # 此处运行你的绘图代码 dev.off() # 导出超大尺寸png,设置300dpi保证打印清晰度 png("完整系统发育树.png", width = 60, height = 200, units = "cm", res = 300) # 此处运行你的绘图代码 dev.off() - 若使用
ggtree/ggplot2绘图,可通过ggsave的limitsize参数关闭尺寸限制:# p为你已经生成的系统发育树绘图对象 ggsave("完整系统发育树.pdf", plot = p, width = 60, height = 200, units = "cm", limitsize = FALSE)
方案2:分多页导出
如果需要拆分到多页便于查看,可先按类群/物种数量将系统发育树拆分为多个子图,依次打印到同一个pdf的不同页面:
# 打开多页pdf设备,尺寸按需设置 pdf("分册系统发育树.pdf", width = 30, height = 80, units = "cm") # p1、p2为拆分后生成的两个子树绘图对象,有更多分页可依次添加 print(p1) print(p2) # 关闭设备 dev.off()
如果使用基础plot函数绘制发育树,可按每页可容纳的物种数量拆分分类单元,循环生成每页内容即可。
其他优化查阅的可选方案
- 导出为矢量pdf后,使用PDF阅读器的无限滚动、放大功能查看,矢量格式不会因缩放出现模糊,无需拆分也能清晰查看每个物种标注
- 转换为交互式可视化,使用
plotly、phyloseq等包生成可缩放、可拖拽、悬浮显示物种详情的HTML格式文件,完全不受页面尺寸限制 - 如果需要实体打印,可先导出超大尺寸矢量pdf,使用打印工具自带的「海报打印」功能自动拆分到多张标准尺寸纸张,拼接后即可得到完整的系统发育树
内容的提问来源于stack exchange,提问作者Anh
相关产品推荐
相关产品推荐

