2012-04-24 19 views
14

Estoy tratando de trazar Google map que se consulta usando el paquete RgoogleMaps y combinándolo con ggplot. En última instancia, quiero mostrar la población total usando geom_point, algo similar a la imagen de abajo; sin embargo, estoy tratando de concentrarme en la región de Montgomery debido al exceso de trazado.Trazando el mapa de google con ggplot en R

Estoy frustrado porque no puedo trazar mi mapa consultado en R. Probé un par de paquetes como read.jpeg y png pero no funcionó del todo.

códigos R:

#query google map 
al1 <- GetMap(center=c(32.362563,-86.304474), zoom=11, destfile = "al2.jpeg", 
     format="jpg",maptype="roadmap") 

#load only specific states 
alabama <- subset(all_states, region %in% c("alabama")) 

#population 
p1 <- ggplot() 
p1 <- p1 + geom_polygon(data=alabama, 
     aes(x=long, y=lat, group=group), colour="white", fill="grey10") 
p1 <- p1 + geom_point(data=quote, aes(x=IntPtLon, y=IntPtLat, size=TotPop, 
     color=TotPop),colour="coral1") + scale_size(name="Total Pop") 

enter image description here

EDIT:

aquí está mi resultado bruto. Todavía quiero:

  • Cambie la escala del tamaño de los puntos porque parecen bastante pequeños en el mapa.
  • Haga que los puntos sean transparentes o no llenos para que el mapa siga visible.

enter image description here

al1 <- get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11, maptype = 'terrain') 
al1MAP <- ggmap(al1)+ geom_point(data=quote_mgm, aes(x=IntPtLon, y=IntPtLat, size=TotPop)) 
+4

es posible que desee echa un vistazo a los paquetes ggmap y OpenStreetMap, los cuales apoyan la trama ggplot2 trazado –

+3

He aquí un buen ejemplo de la wiki que podría ser útil para echa un vistazo: https://github.com/hadley/ggplot2/wiki/Crime-in-Downtown-Houston%2C-Texas-%3A-Combining-ggplot2-and-Google-Maps –

+0

aha! Acabo de encontrar este sitio web y obtuve mi respuesta. La desventaja es que toma un poco de tiempo para trazar, así que verificará ggmap y OSM. Gracias a todos! – Ken

Respuesta

24

¿Es esto lo que está buscando. Utiliza el paquete ggmap, que simplifica el proceso. Vea ?get_map y ?ggmap para más opciones. Un excelente recurso está disponible en The R Journal

library(ggmap) 
al1 = get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11, maptype = 'roadmap') 
al1MAP = ggmap(al1) 
al1MAP 

enter image description here

+0

Sí, además de esto, quiero trazar puntos en la parte superior de este mapa (tal vez usando geom_point) pero al mismo tiempo quiero que sea visualmente atractivo. No quiero que mis puntos oculten/cubran la información del mapa existente. ¿Alguna idea? – Ken

+0

¿los puntos semitransparentes? –

+0

Puede agregar capas adicionales a al1Map utilizando geoms ggplot2 regulares. Entonces, para agregar puntos, entonces algo como 'al1MAP + geom_point (data = data, aes (x = x, y = y))' funcionará. En cuanto a no querer cubrir la información del mapa existente, no puedo ayudarte allí. Tal vez puedas probar diferentes estilos de mapas para encontrar algo que contenga menos detalles. –

Cuestiones relacionadas