2013-01-07 15 views
11

Das klingt vielleicht wie eine Wiederholungsfrage, aber hoffentlich nicht. In der grundlegenden R graphics Histogramm-Funktion haben wir eine Option breaks="FD", die eine vernünftige Größe Binsize für das Histogramm gibt, haben wir eine ähnliche einfache Option für ggplot2? Oder noch besser können wir die gleiche Option in ggplot2 verwenden?Wie wird `binwidth` in ggplot2 angepasst?

Ich verstehe, dass Sie die binwidth in geom_histogram einstellen können, aber ich bin auf der Suche nach einer einfacheren Möglichkeit, ästhetisch ansprechend und resonable binsize zu generieren.

+2

Können Sie es selbst mit 'nclass.FD' berechnen und dann' binwidth' entsprechend einstellen? – joran

+1

Ich glaube nicht, dass FD in vielen Fällen eine vernünftige Größe ergibt (für große Datensätze ist es im Allgemeinen zu groß), was einer der Gründe dafür ist, dass es nicht eingebaut ist. – hadley

Antwort

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

In der Theorie muss der Parameter 'right = TRUE' sein – colinfang

Verwandte Themen