我有四个ggplot2对象以2×2布局图排列,我引用这个函数here:multiplot
函数如果提供了我的四个图中的每一个都很有效。例如:
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
,但不显示完整标签的问题仍然存在。请参阅下面的截图:
答案 0 :(得分:2)
您可以使用grid.text
通过传递multiplot
功能在任意位置添加标签。例如:
https://gist.github.com/sckott/8444444
您可以轻松地将参数添加到multiplot
以传递标签的位置。
对不起,这里有很多代码,所以这一切都在gist中而不是......