ggplot2 визуализирует количество точек, нанесенных друг на друга: stat_bin2d или geom_tile или размер точки?
Моя проблема проста: у меня есть несколько точек с координатами x, y, которые расположены внутри прямоугольной сетки, состоящей из квадратов 1x1. Эти точки имеют усредненные координаты, поэтому несколько точек имеют одинаковые координаты (они полностью перекрываются). Воспроизводимый пример:
# 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()
Я хочу представить частоту точек в определенном месте (координаты x, y, представляющие определенный квадрат).stat_bin2d
это шаг в правильном направлении, но ящики необъяснимо (для меня) размещены в разных местах на карте, что затрудняет визуальное представление распределения.
Я могу представить два разных решения:
1) Есть ли способ центрировать контейнеры по точкам? Иногда нижний левый угол находится в точке, иногда нижний правый угол и т. Д., Например:
Кроме того, было бы идеально, если бы ящики были достаточно большими, чтобы касаться друг друга, но когда я меняюbinwidth=c(1,1)
вstat_bin2d()
это фактически меняет счет, хотя ячейки не должны перекрываться, так как все точки находятся на расстоянии не менее 1 квадрата друг от друга.
или, используя размеры точек:
2) Я бы предпочел точки, размер которых отражал бы концентрацию (так было бы лучше и в черно-белом). Я пытался с geom_point ():
ggplot(data, aes(x=xnew, y=ynew))+geom_point(aes(x=xnew,y=ynew, size=..count..))
но я получил
Error in eval(expr, envir, enclos) : object 'count' not found
и затем, если я добавлю `stat =" bin ", это конфликтует с присваиванием y. Я посмотрел здесь:Почему ggplot2 не позволяет мне устанавливать размер для каждой отдельной точки?, но не смог заставить его работать.
Спасибо в ожидании любой помощи.