Skip to content
forked from dkahle/ggmap

a package for plotting maps in R with ggplot2

Notifications You must be signed in to change notification settings

restonslacker/ggmap

This branch is 277 commits behind dkahle/ggmap:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

efb7da2 · Jan 22, 2016
Jan 22, 2016
Apr 5, 2013
Feb 22, 2014
Jan 22, 2016
Aug 19, 2015
Aug 19, 2015
Dec 10, 2014
Jan 22, 2016
Dec 15, 2015
Jan 22, 2016
Jan 22, 2016
Jan 22, 2016
Jan 22, 2016
Jan 22, 2016
Dec 5, 2015
Dec 5, 2015
Dec 5, 2015
Jan 22, 2016
Jan 22, 2016
Jan 22, 2016
Jan 22, 2016
Jan 22, 2016
Aug 19, 2015
Jun 18, 2015

Repository files navigation

ggmap

ggmap makes it easy to retrieve raster map tiles from popular online mapping services like Google Maps, OpenStreetMap, Stamen Maps, and plot them using the ggplot2 framework:

library(ggmap)

us <- c(left = -125, bottom = 25.75, right = -67, top = 49)
map <- get_stamenmap(us, zoom = 5, maptype = "toner-lite")
ggmap(map)

ggmap(map, extent = "device")

Use qmplot() in the same way you'd use qplot(), but with a map automatically added in the background:

downtown <- subset(crime,
  -95.39681 <= lon & lon <= -95.34188 &
   29.73631 <= lat & lat <=  29.78400
)

qmplot(lon, lat, data = downtown, maptype = "toner-background", color = I("red"))

qmplot(lon, lat, data = downtown, maptype = "toner-lite", geom = "density2d", color = I("red"))

Since ggmap's built on top of ggplot2, all your usual ggplot2 stuff (geoms, polishing, etc.) will work, and there are some unique graphing perks ggmap brings to the table, too.

robberies <- subset(downtown, offense == "robbery")

qmplot(lon, lat, data = downtown, geom = "blank", zoom = 15, maptype = "toner-background", darken = .7) +
  stat_density_2d(aes(fill = ..level..), geom = "polygon", alpha = .3, color = NA) +
  scale_fill_gradient2("Robbery\nPropensity", low = "white", mid = "yellow", high = "red", midpoint = 1500)

Faceting works, too:

qmplot(lon, lat, data = downtown, maptype = "toner-background", color = offense) + 
  facet_wrap(~ offense)

For convenience, here's a map of Europe:

europe <- c(left = -12, bottom = 35, right = 30, top = 63)
map <- get_stamenmap(europe, zoom = 5, maptype = "toner-lite")
ggmap(map)

Installation

  • From CRAN: install.packages("ggmap")

  • From Github: devtools::install_github("dkahle/ggmap")

About

a package for plotting maps in R with ggplot2

Resources

Citation

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • R 100.0%