2009-12-20 6 views
8

Hier ist eine Frage für R-Benutzer. Ich bin daran interessiert, ein Histogramm mit gestapelten Punkten anstatt eines Balkens zu zeichnen. Zum Beispiel, wenn die Daten (1,1,2,1,2,3,3,3,4,4) sind, dann würde ich gerne drei Punkte sehen, die an 1, 2 Punkten gestapelt sind, die bei 2 gestapelt sind und so weiter . Was ist der beste Weg, dies in R zu tun?Plot Histogramm mit Punkten statt Bars

Antwort

5

Greg Snow TeachingDemos Paket enthält eine dots(x, ...) Funktion, die Ihren Bedarf zu passen scheint:

dots(round(rnorm(50, 10,3))) 

enter image description here

+0

Scheint die einfachste aller Lösungen zu sein !! Danke Kyubic – Ramnath

+0

@Ramnath: Wenn man sich den Quellcode anschaut, tut er das gleiche wie Jonathan Changs Antwort – vonjd

5

Sie selbst tun dies ziemlich schnell:

x <- c(1,1,2,1,2,3,3,3,4,4) 
plot(sort(x), sequence(table(x))) 
+0

Danke Jonathan. Das macht den Job für mich! – Ramnath

5

Die einfachste Antwort, die ich Wissen ist das:

x <- c(1,1,2,1,2,3,3,3,4,4) 
stripchart(x,method="stack",at=0) 

Es ist besser als Jonathan Changs Vorschlag, weil stripchart richtiges Stapeln von Punkten macht.

+0

Danke Rob. Stripchart scheint sehr intuitiv zu sein, obwohl ich bevorzugen würde, dass der Stapel von Punkten getrennt ist. – Ramnath

2

würde Eine weitere einfache Möglichkeit sein:

x <- c(1,1,2,1,2,3,3,3,4,4) 
myhist <- hist(x) 
myhistX <- myhist$mids 
myhistY <- myhist$density 

Und jetzt können Sie in irgendeiner Weise plotten Sie mögen:

plot(myhistY~myhistX) 

Auf diese Weise können die Stapeloptionen ändern können, wenn ein „Histogramm“ Aufbau Objekt.