2014-01-15 29 views
0

我有四個ggplot2對象排列成2乘2佈局圖,我參考此函數heremultiplot函數運行良好,如果我的每個四提供情節。例如:多ggplot2數字上的全局x/y軸

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

然而,在每一個情節,我壓抑的X軸和Y軸標籤,因爲它們是相同的,我希望把全球x軸標籤和全球Y-在2×2的大面板上的軸標籤。有沒有辦法修改multiplot函數來實現這個功能?

有一個相關的文章here,但它似乎已過時。它也提供了一個可重複的例子。謝謝!

更新

感謝斯科特的解決方案。當我添加軸標籤時還有一個問題:如何控制整個圖的邊距?我試圖在theme中使用plot.margin,但沒有顯示完整標籤的問題仍然存在。請參考下面隨附的屏幕截圖:

enter image description here

回答

2

您可以使用grid.text添加標籤,無論你通過傳遞到multiplot功能需要他們。例如:

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

而且你可以很容易地在一個參數添加到multiplot在標籤的位置通過。

對不起,有很多的代碼,所以它的一切都在要求,而不是...

+0

非常感謝你!還有一個關於利潤率的問題。請在OP中看到我的更新:) – alittleboy

+0

這應該只是通過'grid.text'放置標籤。在我的要點中嘗試更新的功能。我爲每個標籤的x和y位置添加了參數 – sckott