library(sp)
library(spdep)
library(ggplot2)
library(ggmap)
library(rgdal)
conseguir y violín con los datos:ggmap con geom_map superpone
nc.sids <- readShapePoly(system.file("etc/shapes/sids.shp", package="spdep")[1],ID="FIPSNO", proj4string=CRS("+proj=longlat +ellps=clrk66"))
nc.sids=spTransform(nc.sids,CRS("+init=epsg:4326"))
Get mapa de fondo en stamen.com, la trama, se ve bien:
ncmap = get_map(location=as.vector(bbox(nc.sids)),source="stamen",maptype="toner",zoom=7)
ggmap(ncmap)
Crear una trama de datos con el tiempo, lat, Z, y la trama sobre el mapa y un diagrama en blanco:
ncP = data.frame(coordinates(nc.sids),runif(nrow(nc.sids)))
colnames(ncP)=c("long","lat","Z")
ggmap(ncmap)+geom_point(aes(x=long,y=lat,col=Z),data=ncP)
ggplot()+geom_point(aes(x=long,y=lat,col=Z),data=ncP)
darle algunos identificadores únicos llamados 'id' y fortificar (con vitaminas y hierro?)
[email protected][,1]=1:nrow(nc.sids)
names(nc.sids)[1]="id"
ncFort = fortify(nc.sids)
Ahora, mi mapa y mis límites, quiero trazar la tasa de 74 nacimiento:
myMap = geom_map(aes(fill=BIR74,map_id=id),map=ncFort,[email protected])
Limits = expand_limits(x=ncFort$long,y=ncFort$lat)
y en una parcela en blanco que puedo:
ggplot() + myMap + Limits
pero en una ggmap no puedo:
ggmap(ncmap) + myMap + Limits
# Error in eval(expr, envir, enclos) : object 'lon' not found
Algunas versiones:
> packageDescription("ggplot2")$Version
[1] "0.9.0"
> packageDescription("ggmap")$Version
[1] "2.0"
puedo añadir a geom_polygon ggplot o ggmap y funciona como se esperaba. Así que algo está pasando con geom_map ....
me sale "Error en validDetails.polygon (x): ' x 'e' y 'e' id 'deben tener la misma longitud "si agrego inherit.aes = FALSE a myMap en el ejemplo anterior. – Spacedman
@Spacedman He editado mi respuesta para incluir el código y el resultado. El código es casi exactamente tu código a excepción de la adición 'inherit.aes = FALSE' en la llamada' geom_map'. –
Actualicé ggplot2 y ggmap a esas versiones y ahora ggplot2 está totalmente roto. El primer ejemplo en geom_point produce un diagrama sin puntos, solo establece los ejes, el gris b/g, y nada. Desde una R --vanilla sin otros paquetes cargados. Tal vez una cosa de versión R (2.14.2 ...). Grr. – Spacedman