2013-06-11 218 views
6

過去幾周我一直在使用ggplot2,並想知道是否有人可以幫我解決我遇到的這個問題。ggplot2中的箱圖之間的間距

當我繪製箱子圖時,我的箱子正在相互接觸。我希望他們之間有一點空間。有沒有辦法做到這一點?我確信有,我只是沒有看到它。 enter image description here

+2

您能否提供數據並告訴我們您的代碼?我們將能夠幫助更好。關於我的頭,我認爲這與'geom_bar(position = position_dodge(。))'參數有關,其中'.' = 0到1之間的值。 – Arun

+0

也許這會回答你的問題? http://stackoverflow.com/questions/6085238/adding-space-between-bars-in-ggplot2?rq=1 – janattack

回答

16

讓我們借這個question凱文Ushey提供的可重複的例子:

set.seed(123) 
dat <- data.frame( 
    x=rep(c(1, 2, 3, 4), times=25), 
    y=rnorm(100), 
    gp=rep(1:2, each=50) 
) 

p <- ggplot(dat, aes(x=factor(x), y=y)) 
p + geom_boxplot(aes(fill = factor(gp))) #example 1 

enter image description here

然後,跟隨阿倫的意見,我測試不過的(position = position_dodge(.))geom_boxplot代替geom_bar,和有效。

在這種情況下,沒有必要更改框的寬度。

因此,改變上述代碼的最後一行:

p + geom_boxplot(aes(fill = factor(gp)),position=position_dodge(1)) 

的伎倆。

enter image description here