2012-04-24 17 views
5

Estoy tratando de tomar un shapefile y puntos que están dentro de él y terminar con un diagrama de shapefile, los puntos, y luego finalmente, un análisis de cuadrantes superpuesto en la parte superior con cierta cantidad de transparencia alfa.Cómo graficar recuentos de cuadratura en la parte superior de un mapa en ggplot2 en un estilo de mapa de calor

me trataron y se acercó con este ejemplo que debe servir:

library(ggplot2) 
library(maps) 
library(maptools) 
library(spatstat) 
library(plyr) 

# generate polygons 
usa <- map('usa', plot=F) 
IDs <- sapply(strsplit(usa$names, ':'), function(x) x[1]) 
crs <- CRS('+proj=longlat +ellps=WGS84') 
usa.sp <-map2SpatialPolygons(usa, IDs=usa$names, proj4string=crs) 
usa.pts <- fortify(usa.sp, region="id") 

base.plot <- ggplot(usa.pts, aes(x=long, y=lat)) + 
       geom_path(aes(group=id)) + 
       coord_equal() 

# generate point process 
lon <- runif(5000, min(usa.pts$long, na.rm=TRUE), max(usa.pts$long, na.rm=TRUE)) 
lat <- rnorm(5000, mean(usa.pts$lat, na.rm=TRUE), sd=sd(usa.pts$lat, na.rm=TRUE)/2) 
points <- data.frame(lon, lat) 
points.sp <- SpatialPoints(points, proj4string=crs) 
points <- points[which(!is.na(over(points.sp, usa.sp))),] 

# the first plot 
base.plot + 
    geom_point(data=points, aes(x=lon, y=lat), color="red", alpha=I(0.5)) 

Así que lo que mi archivo de formas y los datos serían más o menos parecerse son: enter image description here

Los próximos pasos que me gustaría tomar es realizar un análisis cuadrático de varios tamaños de celda y trazar los resultados sobre la parcela con puntos. Asumiendo que obtuve con éxito un objeto de cuadratuación (reorganizando los datos ahora mismo en el formato correcto), ¿cómo podría trazarlo como una superposición similar a un mapa de calor?

+0

Tal vez una cuestión relacionada es cómo tomar la parte de la imagen de la clase quadratcount, lo convierten en un archivo de forma que cada célula es un polígono con el valor de cuenta apropiada, y el argumento de que como capa geom_tile? –

Respuesta

4

Para agregar un mapa de calor en ggplot, puede utilizar geom_tile, o su stat defecto, stat_bin2d:

library(mapproj) 
base.plot + 
    stat_bin2d(data=points, aes(x=lon, y=lat), bins=100) + 
    coord_map() 

También le sugiero que utilice coord_map en lugar de coord_equal, después de instalar el paquete mapproj para permitir diferentes proyecciones cartográficas .

enter image description here

Cuestiones relacionadas