2015-01-21 25 views
1

我試圖繪製使用ggplot其中有條之間的一些空間上的直方圖。直方圖使用連續數據空間(寬度= ...不工作)

這是離散的數據沒有問題:

b= data.frame(x=sample(LETTERS[1:3],size=50, replace=T)) 
ggplot(b, aes(x=x)) + geom_bar(width=.3) 

enter image description here 然而,使用連續的數據,width似乎沒有任何效果。

a= data.frame(x=rnorm(100)) 
ggplot(a, aes(x=x, width=.5)) + 
geom_bar(width=.3, binwidth=1) 

continuous histogram

如何與間隔條的直方圖進行存檔連續數據?

回答

2

我覺得這樣做,這是一個非常糟糕的主意(和GGPLOT2不支持它)。

這是一個可能性:

breaks <- pretty(range(a$x), n = 6, min.n = 1) 
mids <- 0.5 * (breaks[-1L] + breaks[-length(breaks)]) 

ggplot(a, aes(x = cut(x, breaks = breaks, labels = mids))) + 
    geom_bar(width=.3) 
+1

+1 '這是一個壞主意。'就此而言,直方圖根據定義將數據量化爲子集,因此「連續」是沒有意義的。 – 2015-01-21 12:39:57

+0

@Roland,卡爾·我想爲顯示相同數據的兩個子集的直方圖做到這一點,把他們的酒吧並排側(閃避)。通過使用空間,我試圖讓它更容易看到,哪一對酒吧屬於哪個組,並且無論如何都能看到哪些酒吧是對的。如果你有其他的建議,我會很高興去學習 – akraf 2015-01-21 12:58:29

+1

@akraf只需設置一個'fill'顏色。 – Roland 2015-01-21 13:03:40