R 多个ggplot2图形上的全局x/y轴

R 多个ggplot2图形上的全局x/y轴,r,ggplot2,R,Ggplot2,我有四个ggplot2对象要在一个2×2的布局图中排列,我指的是这个函数:multiplot函数可以很好地工作,如果我的四个图都提供了。例如: multiplot(p1, p2, p3, p4, cols=2, layout=matrix(seq(1,4), nr=2, byrow=TRUE)) 但是,在每个绘图中,我都会抑制x轴和y轴标签,因为它们是相同的,我希望在2×2的大面板上放置一个全局x轴标签和一个全局y轴标签。有没有办法修改multiplot功能来实现这一点 有一个相关的帖子,但似

我有四个ggplot2对象要在一个2×2的布局图中排列,我指的是这个函数:
multiplot
函数可以很好地工作,如果我的四个图都提供了。例如:

multiplot(p1, p2, p3, p4, cols=2, layout=matrix(seq(1,4), nr=2, byrow=TRUE))
但是,在每个绘图中,我都会抑制x轴和y轴标签,因为它们是相同的,我希望在2×2的大面板上放置一个全局x轴标签和一个全局y轴标签。有没有办法修改
multiplot
功能来实现这一点

有一个相关的帖子,但似乎已经过时了。它还提供了一个可复制的示例。谢谢大家!

更新

谢谢斯科特的解决方案。添加轴标签时还有一个问题:如何控制整个图形的边距?我试着在
主题中使用
plot.margin
,但是没有显示完整标签的问题仍然存在。请参见下面附带的屏幕截图:


您可以使用
grid.text
通过传递到
multiplot
函数,将标签添加到任何需要的位置。例如:

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

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


抱歉,代码太多了,所以都在要点中…

非常感谢!还有一个关于利润率的问题。请参阅我在OP:)中的更新,这应该是通过
grid.text
放置标签的位置。试试我的要点中更新的函数。我为每个标签的x和y位置添加了参数