Google Geo Map with R
The gvisGeoMap function reads a data.frame and creates text output referring to the Google Visualisation API, which can be included into a web page, or as a stand-alone page.
A geo map is a map of a country, continent, or region map, with colours and values assigned to specific regions. Values are displayed as a colour scale, and you can specify optional hover-text for regions. The map is rendered in the browser. Note that the map is not scroll-able or drag-gable, but can be configured to allow zooming.
gvisGeoMap( data, locationvar = "", numvar = "", hovervar = "", options = list(), chartid )
data |
|
locationvar |
column name of
|
numvar |
column name of |
hovervar |
column name of |
options |
list of configuration options. The options are documented in detail by Google online: https://developers.google.com/chart/interactive/docs/gallery/geomap#Configuration_Options The parameters can be set via a named list. The parameters have to map those of the Google documentation.
For more details see the Google API documentation and the R examples below. |
chartid |
character. If missing (default) a random chart id will be
generated based on chart type and |
gvisGeoMap returns list
of class
"gvis
" and "list
".
An object of class "gvis
" is a list containing at least the
following components:
type
Google visualisation type
chartid
character id of the chart object. Unique chart ids are required to place several charts on the same page.
html
a list with the building blocks for a page
header
a character string of a html page header:
<html>...<body>
,
chart
a named character vector of the chart's building blocks:
jsHeader
Opening <script>
tag and
reference to Google's JavaScript library.
jsData
JavaScript function defining the input
data
as a JSON object.
jsDrawChart
JavaScript function combing the data with the visualisation API and user options.
jsDisplayChart
JavaScript function calling the handler to display the chart.
jsFooter
End tag </script>
.
jsChart
Call of the jsDisplayChart
function.
divChart
<div>
container to embed the chart
into the page.
caption
character string of a standard caption, including data name and chart id.
footer
character string of a html page footer:
</body>...</html>
, including the used R and googleVis version
and link to Google's Terms of Use.
GeoMap (gvisGeoMap) is Flash based, conisder using GeoChart (gvisGeoChart) instead. For more details visit: goo.gl/tkiEV8
Because of Flash security settings the chart might not work correctly when accessed from a file location in the browser (e.g., file:///c:/webhost/myhost/myviz.html) rather than from a web server URL (e.g. https://www.myhost.com/myviz.html). See the googleVis package vignette and the Macromedia web site (https://www.macromedia.com/support/documentation/en/flashplayer/help/) for more details.
Markus Gesmann markus.gesmann@gmail.com, Diego de Castillo decastillo@gmail.com
Google Chart Tools API: https://developers.google.com/chart/interactive/docs/gallery/geomap
## Please note that by default the googleVis plot command ## will open a browser window and requires Internet ## connection to display the visualisation. ## Regions Example ## The regions style fills entire regions (typically countries) with colors ## corresponding to the values that you assign. Specify the regions style ## by assigning options['dataMode'] = 'regions' in your code. G1 <- gvisGeoMap(Exports, locationvar='Country', numvar='Profit', options=list(dataMode="regions")) plot(G1) ## Markers Example ## The "markers" style displays a circle, sized and colored to indicate ## a value, over the regions that you specify. G2 <- gvisGeoMap(CityPopularity, locationvar='City', numvar='Popularity', options=list(region='US', height=350, dataMode='markers', colors='[0xFF8747, 0xFFB581, 0xc06000]')) plot(G2) ## Example showing US data by state require(datasets) states <- data.frame(state.name, state.x77) G3 <- gvisGeoMap(states, "state.name", "Illiteracy", options=list(region="US", dataMode="regions", width=600, height=400)) plot(G3) ## Example with latitude and longitude information ## Show Hurricane Andrew (1992) storm track G4 <- gvisGeoMap(Andrew, locationvar="LatLong", numvar="Speed_kt", hovervar="Category", options=list(height=350, region="US", dataMode="markers")) plot(G4) ## World population WorldPopulation=data.frame(Country=Population$Country, Population.in.millions=round(Population$Population/1e6,0), Rank=paste(Population$Country, "Rank:", Population$Rank)) G5 <- gvisGeoMap(WorldPopulation, "Country", "Population.in.millions", "Rank", options=list(dataMode="regions", width=600, height=300)) plot(G5)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.