R每页多个图表混合图和ggplot

时间:2018-01-02 16:51:27

标签: r plot ggplot2

亲爱的Stackoverflow R专家,

我正在尝试使用简单的3x3布局创建包含9个散点图的页面。

绘图1:8由plot()创建,第9个绘图由ggplot()创建。

图1:8的大小和位置正确用于页面布局,但是第9个图拒绝坐在第9个位置,并且是一个完整大小的单独图。

如何使第9幅图位于正确的位置,尺寸合适,与图1:8在同一页面上?

代码(下面)是问题的简化示例。

非常感谢任何建议! 谢谢

par(mfrow=c(3,3))
df<-data.frame(c(0,0))
plot(df)
plot(df)
plot(df)
plot(df)
plot(df)
plot(df)
plot(df)
plot(df)
ggplot(df)+geom_point(aes(x="",y=""))

1 个答案:

答案 0 :(得分:2)

组合基础R图和ggpl可能不是最简单的任务,但这就像使用gridGraphicsgridExtra一样:

library(gridGraphics)
library(grid)
library(gridExtra)
library(ggplot2)

#save base-R plot
#taken from https://stackoverflow.com/questions/29583849/r-saving-a-plot-in-an-object
df<-data.frame(c(0,0))
plot(df)
#p <- recordPlot()
#plot.new() 
#p
grid.echo()
a <- grid.grab()
a <- editGrob(a, vp=viewport(width=unit(2,"in")), gp=gpar(fontsize=10))

#save ggplot
b <- ggplot(df)+geom_point(aes(x="",y=""))

#plot all together
grid.arrange(a, a, a, a, a, a, a, a, b, nrow = 3, ncol = 3)

enter image description here