r - 在行/网格中绘制多个未使用 ggplot 创建的图
问题描述
我创建了 2 个图,p1 和 p10,并将它们记录如下:
plot(data$Fwd_EY, data$SPNom1YrFwdRet, pch = 16, cex = 1.0, col = "blue")
p1 <- recordPlot()
dev.off()
plot(data$Fwd_EY, data$SPNom10YrFwdRet, pch = 16, cex = 1.0, col = "blue")
p10 <- recordPlot()
dev.off()
我将 P1 和 P10 打印到 .png 文件,然后想在将它们打印到单个 .png 文件之前并排查看两个图。我尝试了以下变体但没有成功。
myPlots = c(p1, p10)
ggarrange(plotlist = myPlots, nrow = 1)
par(mfrow=c(1,2))
p1
p10
nf <- layout( matrix(c(1,2), ncol=1) )
p1
p10
在某些情况下,R 似乎要求绘图是 ggplots。在其他情况下,这些图只是全屏打印。我怎样才能实现我的目标?
提前致谢
托马斯飞利浦
解决方案
诀窍是将图放在list
.
myPlots = list(p1, p10)
ggpubr::ggarrange(plotlist = myPlots, nrow = 1)
警告消息:
1:gridGraphics
处理 base-R 图需要包。替换空地块。
2:gridGraphics
处理base-R图需要包。替换空地块。
library(gridGraphics)
#Loading required package: grid
myPlots = list(p1, p10)
ggpubr::ggarrange(plotlist = myPlots, nrow = 1)
数据
plot(1:10, pch = 16, cex = 1.0, col = "blue")
p1 <- recordPlot()
dev.off()
plot(10:1, pch = 16, cex = 1.0, col = "red")
p10 <- recordPlot()
dev.off()