多个ggplot2数字上的全局x / y轴

时间:2014-01-15 20:40:18

标签: r ggplot2

我有四个ggplot2对象以2×2布局图排列,我引用这个函数heremultiplot函数如果提供了我的四个图中的每一个都很有效。例如:

multiplot(p1, p2, p3, p4, cols=2, layout=matrix(seq(1,4), nr=2, byrow=TRUE))

但是,在每个图中,我都会抑制x轴和y轴标签,因为它们是相同的并且我希望在2上放置一个全局x轴标签和一个全局y轴标签2个大面板。有没有办法修改multiplot函数来实现这个目标?

有一篇相关的帖子here,但它似乎已经过时了。它还提供了可重复的示例。谢谢!

更新

感谢Scott的解决方案。添加轴标签时还有一个问题:如何控制整个图形的边距?我尝试在plot.margin中使用theme,但不显示完整标签的问题仍然存在。请参阅下面的截图:

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用grid.text通过传递multiplot功能在任意位置添加标签。例如:

https://gist.github.com/sckott/8444444

您可以轻松地将参数添加到multiplot以传递标签的位置。

对不起,这里有很多代码,所以这一切都在gist中而不是......