2015-10-15 50 views
1

我試圖在ggplot2中創建一個條形圖,顯示大型數據集的直方圖。ggplot2條形圖不會顯示空格之間的空格

ggplot(data = score.data, aes(x = score)) + geom_bar(binwidth = .25, width=.9) 

我的僱主的平面設計政策是在酒吧間有少量分離。但無論我將寬度參數設置爲什麼,都會生成繪圖,而且任何小節之間都沒有空格。是否有一個不同的參數我應該用來完成這個?

編輯:根據jeremycg在評論中的建議,我已經包含了一些我的數據。

score <- c(6.25, 4.75, 6, 1.5, 6, 5, 6, 2.75, 6, 2.5, 5.25, 6, 3.75, 6, 
      6.25, 5, 6.75, 2, 2.75, 3.25, 5.625, 6.5, 4, 5, 3) 

我想將其轉換爲一個因素,但我想顯示尺寸0.25的垃圾桶 - 有宿舍之間的小數量的值(因爲你可以在上面看到,其中一個值是5.625) 。而stat_bin僅適用於ggplot認爲連續的數據。

+3

解決方案取決於數據的格式(因子,數字等)。你可以嘗試在問題中包括你的一些數據 - 嘗試粘貼'dput(head(score.data))'的輸出。如果你有整數作爲你的分數,你可以嘗試'ggplot(data = score.data,aes(x = factor(score)))+ geom_bar()' – jeremycg

+0

請參閱[這裏](https://groups.google .com/forum /#!topic/ggplot2/yTEm-OfsX18)的答案爲類似問題。 – Axeman

+0

由於您還沒有回覆我的答案,我想知道它是否爲您提供了所需的解決方案。 – Jaap

回答

2

假設您有數字數據而不是整數,您可以在geom_bargeom_histogram中設置colour = "white"size = 1.5(或其他值)。這將使酒吧白色和較厚的邊緣(與size參數),從而創建它們之間的一些視覺空間:

# create some sample data 
set.seed(2) 
data <- data.frame(score=rnorm(1000,0,5), int.score=sample(1:10,1000,replace=TRUE)) 

# create the plot 
ggplot(data, aes(x = score)) + 
    geom_bar(binwidth = .25, color="white", size=1.5) + 
    theme_bw() 

這給:

enter image description here

當你有一個整數,您還可以使用@jeremycg在評論中所提及般的伎倆:

ggplot(data, aes(x = factor(int.score))) + 
    geom_bar(width=0.7) + 
    theme_bw() 

這給:

enter image description here