r - 从函数内将多页图打印到 pdf 上
问题描述
我编写了一个创建多个图的函数。我正在尝试将它们粘贴到排列在两个单独页面中的 pdf 上。
这基本上就是我试图做到这一点的方式:
x <- function()
… #does some stuff, makes plots p1:p6
pdf(paste(paste(x[1,1], x[1,7], x[1,6],".pdf", sep="")))
ggarrange(p1,p2,p3, nrow=3, common.legend = T, legend = "top")
ggarrange(p4,p5,p6, nrow=3, common.legend = T, legend = "top")
dev.off()
否则该功能可以正常工作,但它不会创建 pdf。我需要以不同的方式格式化它,因为它在一个函数中吗?
解决方案
需要print
编辑 ggplot 图才能显示。在命令行中,当您运行一行时,默认情况下会发生这种情况。在函数中,默认情况下不会打印每一行的结果,因此您需要将其包装起来print()
以给出:
x <- function()
… #does some stuff, makes plots p1:p6
pdf(paste(paste(x[1,1], x[1,7], x[1,6],".pdf", sep="")))
print(ggarrange(p1,p2,p3, nrow=3, common.legend = T, legend = "top"))
print(ggarrange(p4,p5,p6, nrow=3, common.legend = T, legend = "top"))
dev.off()
推荐阅读
- roc - 如何设置 roc 曲线 pos_label !=0
- python - 如何保护烧瓶中的服务器端会话?
- macos - 无法从终端运行 curl SDK man 或 ruby
- flutter - 参数类型字符串?不能分配给参数类型“字符串”
- mysql - 不使用 MySQL 在线打开 SQL 数据库
- html - CSS使用户文本在表格中垂直选择
- javascript - 如何修复 Vue 3 中的 Vetur Linting 错误
- python - Flask render_template 在不同的目录中找不到 html 文件
- android - 如何使应用程序在主屏幕上可见(最小化时)?
- bigdata - Kusto 表可以有多个更新策略吗?