2012-05-31 172 views
53

有沒有簡單的方法來增加小區標題和它下面的繪圖區域(包含數據的框)之間的空間。同樣,我希望在軸標題和軸標籤之間留出一些空間。ggplot2繪製區域邊距?

換句話說,是否有辦法「將標題稍微向上移動,y軸標題稍微離開,x軸標題稍微向下」?

+0

您可以隨時在標題上貼上一些''\ n「'字符來強制換行。 – joran

回答

72

您可以使用plot.margintheme()中調整繪圖邊距,然後使用vjust參數element_text()移動軸標籤和標題。例如:

library(ggplot2) 
library(grid) 
qplot(rnorm(100)) + 
    ggtitle("Title") + 
    theme(axis.title.x=element_text(vjust=-2)) + 
    theme(axis.title.y=element_text(angle=90, vjust=-0.5)) + 
    theme(plot.title=element_text(size=15, vjust=3)) + 
    theme(plot.margin = unit(c(1,1,1,1), "cm")) 

會給你是這樣的:如果你想了解不同theme()參數及其參數的詳細信息,你可以在將R提示符下輸入?theme

enter image description here

+4

謝謝!我不確定要爲'grid :: units'提供什麼來使'plot.margin'參數有效。原來你必須爲'units'提供長度爲4的數字。太糟糕了''''單元'的'x'參數沒有以某種方式回收。此外,您可能已經知道這一點,但值得注意/更新的是,'opts'現在在ggplot2(0.9.2+)的最新版本中被棄用,被'theme'取代,'theme_text'現在被'element_text'取代。 。 –

+8

如果其他人想要節省查看時間的時間,plot.margin的邊的順序是單位(c(頂部,右側,底部,左側)單位)。 – mightypile

+0

@mightypile與基R相反!爾加!爲什麼???!??! –