昨晚男友加班回来又突发奇想说,可不可以生成一个 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(aes(colour = factor(c

本文介绍如何利用grid包的grid.layout将三张不同分面数量的图表拼接在一起,实现横向比较的视觉效果。虽然这种方法在纵向比较上较弱,但通过示例代码展示了如何组合ggplot绘制的图表,不过统一图例等进一步调整可能较为复杂。
最低0.47元/天 解锁文章
526

被折叠的 条评论
为什么被折叠?



