ggplot2 wizualizuje liczbę punktów narysowanych jeden na drugim: stat_bin2d lub geom_tile lub rozmiar punktu?

Mój problem jest prosty: mam kilka punktów ze współrzędnymi x, y, które są umieszczone wewnątrz prostokątnej siatki złożonej z 1x1 kwadratów. Punkty te mają uśrednione współrzędne, tak że kilka punktów ma te same współrzędne (nakładają się całkowicie). Powtarzalny przykład:

# 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()

Chcę przedstawić częstotliwość punktów w określonym miejscu (współrzędne x, y, reprezentujące konkretny kwadrat).stat_bin2d jest krokiem we właściwym kierunku, ale pojemniki są niewytłumaczalnie (dla mnie) umieszczane w różnych miejscach na mapie, co utrudnia wizualną dystrybucję.

Mogę sobie wyobrazić dwa różne rozwiązania:

1) Czy istnieje sposób na wyśrodkowanie pojemników na punktach? Czasami dolny lewy róg znajduje się w punkcie, czasami w prawym dolnym rogu itp. W ten sposób:

Dodatkowo byłoby idealnie, gdyby pudełka były wystarczająco duże, aby się stykać, ale kiedy zmieniambinwidth=c(1,1) wstat_bin2d(), faktycznie zmienia liczniki, chociaż pojemniki nie powinny się nakładać, ponieważ wszystkie punkty są oddalone od siebie o co najmniej 1 kwadrat.

lub, używając rozmiarów punktów:

2) Wolałbym, aby punkty, których rozmiar odzwierciedlałby koncentrację (w ten sposób byłyby też lepsze w czerni i bieli). Próbowałem z geom_point ():

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

ale mam

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

a następnie, jeśli dodam `stat =" bin ", powoduje to konflikt z przypisaniem do y. Spojrzałem tutaj:Dlaczego ggplot2 nie pozwala mi ustawić rozmiaru dla każdego pojedynczego punktu?, ale nie był w stanie go uruchomić.

Dzięki w oczekiwaniu na pomoc.

questionAnswers(2)

yourAnswerToTheQuestion