2013-01-07 36 views
11

這可能聽起來像一個重複的問題,但希望它不是。在基本的R graphics直方圖函數中,我們有一個選項breaks="FD",它給出了直方圖的合理大小binsize,我們是否有類似的簡單選項ggplot2?或者更好的我們可以在ggplot2中使用相同的選項嗎?如何調整ggplot2中的`binwidth`?

我也知道,您可以調整geom_histogrambinwidth,但我期待一個更簡單的生成美觀和合理的binsize方式。

+2

你可以使用'nclass.FD'自己計算它,然後相應地設置'binwidth' ...? – joran

+1

我不認爲FD在很多情況下給出了合理的大小binwidth(它對於大數據集通常太大),這是它沒有內置的原因之一。 – hadley

回答

13
set.seed(42) 
x <- rnorm(1000) 
hist(x,breaks="FD") 

library(ggplot2) 
breaks <- pretty(range(x), n = nclass.FD(x), min.n = 1) 
bwidth <- breaks[2]-breaks[1] 
df <- data.frame(x) 
ggplot(df,aes(x))+geom_histogram(binwidth=bwidth,fill="white",colour="black") 
+1

理論上需要參數'right = TRUE' – colinfang