Plot R Data With googleVis

September 30, 2012

(This article was first published on W. Andrew Barr's Paleoecology Blog, and kindly contributed to R-bloggers)

Here is a little code snippet that shows how to do two things

  1. Use the Google Maps API to resolve place names into lat-long coordinate pairs.
  2. Plot R dataframes that contain lat-long data (for example from #1) onto Google Maps for quick visualization using the googleVis package.  The embedded map looks a little wonky here but it looks perfectly normal when you plot it locally in your browser. (Note: you need an internet connection for these maps to plot properly). 


Data: plotData • Chart ID: MapID71b85742e7
R version 2.14.1 (2011-12-22) • googleVis-0.2.15Google Terms of UseData Policy
####functions borrwed from
getDocNodeVal=function(doc, path)
sapply(getNodeSet(doc, path), function(el) xmlValue(el))
doc = xmlTreeParse(u, useInternal=TRUE)
str=gsub(' ','%20',str)
lat=getDocNodeVal(doc, "/GeocodeResponse/result/geometry/location/lat")
lng=getDocNodeVal(doc, "/GeocodeResponse/result/geometry/location/lng")
list(lat = lat, lng = lng)
#### End functions borrowed from
# get some names of paleoanthropological sites in France.
placeNames<-c("Cro Magnon","La Ferrassie","Chauvet Cave","La Chapelle aux Saints", "Le Moustier")
#resolve the placenames into latlong
latLong<-lapply(placeNames, FUN=gGeoCode)
#format the latlong coordinates into the proper format lat:long
#create a dataframe, formatting the place name string first and making the latlong a vector, not list
sites<-gvisMap(plotData,locationvar="latlong",tipvar="name", options=list(mapType='normal'))

Created by Pretty R at

To leave a comment for the author, please follow the link and comment on their blog: W. Andrew Barr's Paleoecology Blog. offers daily e-mail updates about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Comments are closed.