ggplot2 visualisiert die Anzahl der Punkte, die übereinander gezeichnet wurden: stat_bin2d oder geom_tile oder Punktgröße?

Mein Problem ist einfach: Ich habe einige Punkte mit x, y-Koordinaten, die in einem rechteckigen Raster aus 1x1-Quadraten positioniert sind. Diese Punkte haben gemittelte Koordinaten, so dass mehrere Punkte die gleichen Koordinaten erhalten (sie überlappen sich vollständig). Reproduzierbares Beispiel:

# generate fake data
y <- seq(from=0.5, to=9.5, by=1)
x <- seq(from=0.5, to=4.5, by=1)
xnew <- sample(x,100,replace=T)
ynew <- sample(y,100,replace=T)
data <- data.frame(xnew,ynew)

# create chart
ggplot(data, aes(x=xnew, y=ynew)) + geom_point()

Ich möchte die Häufigkeit von Punkten an einem bestimmten Ort darstellen (x, y-Koordinate, die ein bestimmtes Quadrat darstellt).stat_bin2d ist ein Schritt in die richtige Richtung, aber die Behälter sind (für mich) unerklärlicherweise an verschiedenen Stellen auf der Karte platziert, was es schwierig macht, die Verteilung visuell zu sehen.

Ich kann mir zwei verschiedene Lösungen vorstellen:

1) Gibt es eine Möglichkeit, die Fächer auf die Punkte zu zentrieren? Manchmal befindet sich die untere linke Ecke am Punkt, manchmal die untere rechte Ecke usw.

Außerdem wäre es ideal, wenn die Boxen groß genug wären, um sich gegenseitig zu berühren, aber wenn ich die änderebinwidth=c(1,1) imstat_bin2d()Tatsächlich ändert sich die Anzahl, obwohl sich die Fächer nicht überlappen sollten, da alle Punkte mindestens 1 Quadrat voneinander entfernt sind.

oder unter Verwendung von Punktgrößen:

2) Ich würde Punkte bevorzugen, deren Größe die Konzentration widerspiegeln würde (auf diese Weise wäre es auch in Schwarzweiß besser). Ich habe es mit geom_point () versucht:

ggplot(data, aes(x=xnew, y=ynew))+geom_point(aes(x=xnew,y=ynew, size=..count..))

aber ich habe

Error in eval(expr, envir, enclos) : object 'count' not found

und wenn ich dann `stat =" bin "hinzufüge, kollidiert es mit der Zuweisung zu y. Ich habe hier gesucht:Warum erlaubt mir ggplot2 nicht, für jeden einzelnen Punkt eine Größe festzulegen?, konnte es aber nicht zum Laufen bringen.

Vielen Dank im Voraus für jede Hilfe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage