如何用mapply从列表保存多张图到单个PDF[R语言]
解决方法
直接将你的绘图代码包裹在pdf()和dev.off()函数之间即可,R会把所有生成的剖面图依次存入同一个PDF文件,每页一张图。修改后的完整代码如下:
require(oce) # 打开PDF输出设备,指定保存路径与文件名 pdf("~/your_path/profile_plots.pdf") # 循环绘制所有剖面图,自动写入PDF mapply(function(dat, nm) { plotProfile(dat, xtype="temperature", col.temperature="black") # 可选:添加子列表名称作为图标题,方便区分 title(main = nm) }, dat = df, nm = names(df)) # 关闭PDF设备,完成文件保存 dev.off()
注意事项:
- 替换
"~/your_path/profile_plots.pdf"为你实际的保存路径和文件名,路径需提前存在,若不存在可先用dir.create("~/your_path", recursive = TRUE)创建目录。 - 可选的
title(main = nm)代码可以给每张图加上对应的子列表名称作为标题,不需要的话直接删除即可。
内容的提问来源于stack exchange,提问作者C. Guff
相关产品推荐
相关产品推荐

