昨晚男友加班回来又突发奇想说,可不可以生成一个 grid 但不是n × m的。。。什么意思。。。画图之后总算了解了他的意图,想把三张图拼在一起,每张的分面个数可能不一样。
讲真,这样更多的只是拼起来而已,因为主要侧重横向比较,纵向比较就很弱了。下面给出代码,主要运用了 grid 包中的 grid.layout 将绘图区分隔为几块,再分别用 ggplot 绘图。
library(grid)
grid.newpage() # 生成新画布
pushViewport(viewport(layout = grid.layout(3,3))) # 指定一个3乘3的layout
pushViewport(viewport(layout.pos.row = 1)) # 将当前位置定位第一行
print(ggplot(mtcars,aes(drat,mpg)) + geom_point(