ggplot2 visualizando contagens de pontos plotados em cima uns dos outros: stat_bin2d ou geom_tile ou tamanho do ponto?
Meu problema é simples: eu tenho alguns pontos com coordenadas x, y, que estão posicionados dentro de uma grade retangular composta de quadrados 1x1. Esses pontos têm médias de coordenadas, de modo que vários pontos recebem as mesmas coordenadas (eles se sobrepõem completamente). Exemplo reproduzível:
# 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()
Eu quero representar a frequência de pontos em um determinado local (coordenadas x, y, representando um quadrado particular).stat_bin2d
é um passo na direção certa, mas as caixas são inexplicavelmente (para mim) colocadas em diferentes pontos no mapa, dificultando a visualização visual da distribuição.
Eu posso imaginar duas soluções diferentes:
1) Existe uma maneira de centralizar as caixas nos pontos? Às vezes, o canto inferior esquerdo está no ponto, às vezes o canto inferior direito, etc. assim:
Além disso, seria ideal se as caixas fossem grandes o suficiente para se tocarem, mas quando eu mudo obinwidth=c(1,1)
emstat_bin2d()
, na verdade altera as contagens, embora as caixas não devam se sobrepor, uma vez que todos os pontos são pelo menos um quadrado de distância um do outro.
ou, usando tamanhos de ponto:
2) Eu preferiria pontos cujo tamanho refletiria a concentração (assim também seria melhor em preto e branco). Eu tentei com geom_point ():
ggplot(data, aes(x=xnew, y=ynew))+geom_point(aes(x=xnew,y=ynew, size=..count..))
mas eu tenho
Error in eval(expr, envir, enclos) : object 'count' not found
e então, se eu adicionar `stat =" bin ", ele entra em conflito com a atribuição para y. Eu olhei aqui:Por que o ggplot2 me permite definir um tamanho para cada ponto individual?, mas não foi capaz de fazê-lo funcionar.
Obrigado em antecipação por qualquer ajuda.