Title: | 'ggplot2' Faceting Utilities for Geographical Data |
---|---|
Description: | Provides geographical faceting functionality for 'ggplot2'. Geographical faceting arranges a sequence of plots of data for different geographical entities into a grid that preserves some of the geographical orientation. |
Authors: | Ryan Hafen [aut, cre], Barret Schloerke [ctb] |
Maintainer: | Ryan Hafen <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.2.2 |
Built: | 2024-11-22 02:51:45 UTC |
Source: | https://github.com/hafen/geofacet |
Attach a SpatialPolygonsDataFrame object to a grid
attach_spdf(x, spdf)
attach_spdf(x, spdf)
x |
object to attach SpatialPolygonsDataFrame object to |
spdf |
a SpatialPolygonsDataFrame object to attach |
March 2017 population data for Australian states and territories by age group. Source: http://lmip.gov.au/default.aspx?LMIP/Downloads/ABSLabourForceRegion.
aus_pop
aus_pop
List of valid values for countries for fetching rnaturalearth data when used with grid_auto
to create a grid of states.
List of valid values for continents for fetching rnaturalearth data when used with grid_auto
to create a grid of countries.
2016 US presidential election results, obtained from https://docs.google.com/spreadsheets/d/133Eb4qQmOxNvtesw2hdVns073R68EZx4SfCnP4IGQf8/htmlview?sle=true.
election
election
GDP per capita in PPS - Index (EU28 = 100). "Gross domestic product (GDP) is a measure for the economic activity. It is defined as the value of all goods and services produced less the value of any goods or services used in their creation. The volume index of GDP per capita in Purchasing Power Standards (PPS) is expressed in relation to the European Union (EU28) average set to equal 100. If the index of a country is higher than 100, this country's level of GDP per head is higher than the EU average and vice versa. Basic figures are expressed in PPS, i.e. a common currency that eliminates the differences in price levels between countries allowing meaningful volume comparisons of GDP between countries. Please note that the index, calculated from PPS figures and expressed with respect to EU28 = 100, is intended for cross-country comparisons rather than for temporal comparisons." Source is no longer available (previously at http://ec.europa.eu/eurostat/web/national-accounts/data/main-tables). Dataset ID: tec00114.
eu_gdp
eu_gdp
Annual number of resettled persons for each EU country. "Resettled refugees means persons who have been granted an authorization to reside in a Member State within the framework of a national or Community resettlement scheme.". Source: https://ec.europa.eu/eurostat/cache/metadata/en/migr_asydec_esms.htm. Dataset ID: tps00195.
eu_imm
eu_imm
Arrange a sequence of geographical panels into a grid that preserves some geographical orientation
facet_geo(facets, ..., grid = "us_state_grid1", label = NULL, move_axes = TRUE)
facet_geo(facets, ..., grid = "us_state_grid1", label = NULL, move_axes = TRUE)
facets |
passed to |
grid |
character vector of the grid layout to use (currently only "us_state_grid1" and "us_state_grid2" are available) |
label |
an optional string denoting the name of a column in |
move_axes |
should axis labels and ticks be moved to the closest panel along the margins? |
... |
additional parameters passed to |
## Not run: library(ggplot2) # barchart of state rankings in various categories ggplot(state_ranks, aes(variable, rank, fill = variable)) + geom_col() + coord_flip() + facet_geo(~ state) + theme_bw() # use an alternative US state grid and place ggplot(state_ranks, aes(variable, rank, fill = variable)) + geom_col() + coord_flip() + facet_geo(~ state, grid = "us_state_grid2") + theme(panel.spacing = unit(0.1, "lines")) # custom grid (move Wisconsin above Michigan) my_grid <- us_state_grid1 my_grid$col[my_grid$code == "WI"] <- 7 ggplot(state_ranks, aes(variable, rank, fill = variable)) + geom_col() + coord_flip() + facet_geo(~ state, grid = my_grid) # plot unemployment rate time series for each state ggplot(state_unemp, aes(year, rate)) + geom_line() + facet_geo(~ state) + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + ylab("Unemployment Rate (%)") + theme_bw() # plot the 2016 unemployment rate ggplot(subset(state_unemp, year == 2016), aes(factor(year), rate)) + geom_col(fill = "steelblue") + facet_geo(~ state) + theme( axis.title.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank()) + ylab("Unemployment Rate (%)") + xlab("Year") # plot European Union GDP ggplot(eu_gdp, aes(year, gdp_pc)) + geom_line(color = "steelblue") + geom_hline(yintercept = 100, linetype = 2) + facet_geo(~ name, grid = "eu_grid1") + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + ylab("GDP Per Capita") + theme_bw() # use a free x-axis to look at just change ggplot(eu_gdp, aes(year, gdp_pc)) + geom_line(color = "steelblue") + facet_geo(~ name, grid = "eu_grid1", scales = "free_y") + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + ylab("GDP Per Capita in Relation to EU Index (100)") + theme_bw() # would be nice if ggplot2 had a "sliced" option... # (for example, there's not much going on with Denmark but it looks like there is) # plot European Union annual # of resettled persons ggplot(eu_imm, aes(year, persons)) + geom_line() + facet_geo(~ name, grid = "eu_grid1") + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + scale_y_sqrt(minor_breaks = NULL) + ylab("# Resettled Persons") + theme_bw() # plot just for 2016 ggplot(subset(eu_imm, year == 2016), aes(factor(year), persons)) + geom_col(fill = "steelblue") + geom_text(aes(factor(year), 3000, label = persons), color = "gray") + facet_geo(~ name, grid = "eu_grid1") + theme( axis.title.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank()) + ylab("# Resettled Persons in 2016") + xlab("Year") + theme_bw() # plot Australian population ggplot(aus_pop, aes(age_group, pop / 1e6, fill = age_group)) + geom_col() + facet_geo(~ code, grid = "aus_grid1") + coord_flip() + labs( title = "Australian Population Breakdown", caption = "Data Source: ABS Labour Force Survey, 12 month average", y = "Population [Millions]") + theme_bw() # South Africa population density by province ggplot(sa_pop_dens, aes(factor(year), density, fill = factor(year))) + geom_col() + facet_geo(~ province, grid = "sa_prov_grid1") + labs(title = "South Africa population density by province", caption = "Data Source: Statistics SA Census", y = "Population density per square km") + theme_bw() # use the Afrikaans name stored in the grid, "name_af", as facet labels ggplot(sa_pop_dens, aes(factor(year), density, fill = factor(year))) + geom_col() + facet_geo(~ code, grid = "sa_prov_grid1", label = "name_af") + labs(title = "South Africa population density by province", caption = "Data Source: Statistics SA Census", y = "Population density per square km") + theme_bw() # affordable housing starts by year for boroughs in London ggplot(london_afford, aes(x = year, y = starts, fill = year)) + geom_col(position = position_dodge()) + facet_geo(~ code, grid = "london_boroughs_grid", label = "name") + labs(title = "Affordable Housing Starts in London", subtitle = "Each Borough, 2015-16 to 2016-17", caption = "Source: London Datastore", x = "", y = "") # dental health in Scotland ggplot(nhs_scot_dental, aes(x = year, y = percent)) + geom_line() + facet_geo(~ name, grid = "nhs_scot_grid") + scale_x_continuous(breaks = c(2004, 2007, 2010, 2013)) + scale_y_continuous(breaks = c(40, 60, 80)) + labs(title = "Child Dental Health in Scotland", subtitle = "Percentage of P1 children in Scotland with no obvious decay experience.", caption = "Source: statistics.gov.scot", x = "", y = "") # India population breakdown ggplot(subset(india_pop, type == "state"), aes(pop_type, value / 1e6, fill = pop_type)) + geom_col() + facet_geo(~ name, grid = "india_grid1", label = "code") + labs(title = "Indian Population Breakdown", caption = "Data Source: Wikipedia", x = "", y = "Population [Millions]") + theme_bw() + theme(axis.text.x = element_text(angle = 40, hjust = 1)) ggplot(subset(india_pop, type == "state"), aes(pop_type, value / 1e6, fill = pop_type)) + geom_col() + facet_geo(~ name, grid = "india_grid2", label = "name") + labs(title = "Indian Population Breakdown", caption = "Data Source: Wikipedia", x = "", y = "Population [Millions]") + theme_bw() + theme(axis.text.x = element_text(angle = 40, hjust = 1), strip.text.x = element_text(size = 6)) # A few ways to look at the 2016 election results ggplot(election, aes("", pct, fill = candidate)) + geom_col(alpha = 0.8, width = 1) + scale_fill_manual(values = c("#4e79a7", "#e15759", "#59a14f")) + facet_geo(~ state, grid = "us_state_grid2") + scale_y_continuous(expand = c(0, 0)) + labs(title = "2016 Election Results", caption = "Data Source: 2016 National Popular Vote Tracker", x = NULL, y = "Percentage of Voters") + theme(axis.title.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank(), strip.text.x = element_text(size = 6)) ggplot(election, aes(candidate, pct, fill = candidate)) + geom_col() + scale_fill_manual(values = c("#4e79a7", "#e15759", "#59a14f")) + facet_geo(~ state, grid = "us_state_grid2") + theme_bw() + coord_flip() + labs(title = "2016 Election Results", caption = "Data Source: 2016 National Popular Vote Tracker", x = NULL, y = "Percentage of Voters") + theme(strip.text.x = element_text(size = 6)) ggplot(election, aes(candidate, votes / 1000000, fill = candidate)) + geom_col() + scale_fill_manual(values = c("#4e79a7", "#e15759", "#59a14f")) + facet_geo(~ state, grid = "us_state_grid2") + coord_flip() + labs(title = "2016 Election Results", caption = "Data Source: 2016 National Popular Vote Tracker", x = NULL, y = "Votes (millions)") + theme(strip.text.x = element_text(size = 6)) ## End(Not run)
## Not run: library(ggplot2) # barchart of state rankings in various categories ggplot(state_ranks, aes(variable, rank, fill = variable)) + geom_col() + coord_flip() + facet_geo(~ state) + theme_bw() # use an alternative US state grid and place ggplot(state_ranks, aes(variable, rank, fill = variable)) + geom_col() + coord_flip() + facet_geo(~ state, grid = "us_state_grid2") + theme(panel.spacing = unit(0.1, "lines")) # custom grid (move Wisconsin above Michigan) my_grid <- us_state_grid1 my_grid$col[my_grid$code == "WI"] <- 7 ggplot(state_ranks, aes(variable, rank, fill = variable)) + geom_col() + coord_flip() + facet_geo(~ state, grid = my_grid) # plot unemployment rate time series for each state ggplot(state_unemp, aes(year, rate)) + geom_line() + facet_geo(~ state) + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + ylab("Unemployment Rate (%)") + theme_bw() # plot the 2016 unemployment rate ggplot(subset(state_unemp, year == 2016), aes(factor(year), rate)) + geom_col(fill = "steelblue") + facet_geo(~ state) + theme( axis.title.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank()) + ylab("Unemployment Rate (%)") + xlab("Year") # plot European Union GDP ggplot(eu_gdp, aes(year, gdp_pc)) + geom_line(color = "steelblue") + geom_hline(yintercept = 100, linetype = 2) + facet_geo(~ name, grid = "eu_grid1") + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + ylab("GDP Per Capita") + theme_bw() # use a free x-axis to look at just change ggplot(eu_gdp, aes(year, gdp_pc)) + geom_line(color = "steelblue") + facet_geo(~ name, grid = "eu_grid1", scales = "free_y") + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + ylab("GDP Per Capita in Relation to EU Index (100)") + theme_bw() # would be nice if ggplot2 had a "sliced" option... # (for example, there's not much going on with Denmark but it looks like there is) # plot European Union annual # of resettled persons ggplot(eu_imm, aes(year, persons)) + geom_line() + facet_geo(~ name, grid = "eu_grid1") + scale_x_continuous(labels = function(x) paste0("'", substr(x, 3, 4))) + scale_y_sqrt(minor_breaks = NULL) + ylab("# Resettled Persons") + theme_bw() # plot just for 2016 ggplot(subset(eu_imm, year == 2016), aes(factor(year), persons)) + geom_col(fill = "steelblue") + geom_text(aes(factor(year), 3000, label = persons), color = "gray") + facet_geo(~ name, grid = "eu_grid1") + theme( axis.title.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank()) + ylab("# Resettled Persons in 2016") + xlab("Year") + theme_bw() # plot Australian population ggplot(aus_pop, aes(age_group, pop / 1e6, fill = age_group)) + geom_col() + facet_geo(~ code, grid = "aus_grid1") + coord_flip() + labs( title = "Australian Population Breakdown", caption = "Data Source: ABS Labour Force Survey, 12 month average", y = "Population [Millions]") + theme_bw() # South Africa population density by province ggplot(sa_pop_dens, aes(factor(year), density, fill = factor(year))) + geom_col() + facet_geo(~ province, grid = "sa_prov_grid1") + labs(title = "South Africa population density by province", caption = "Data Source: Statistics SA Census", y = "Population density per square km") + theme_bw() # use the Afrikaans name stored in the grid, "name_af", as facet labels ggplot(sa_pop_dens, aes(factor(year), density, fill = factor(year))) + geom_col() + facet_geo(~ code, grid = "sa_prov_grid1", label = "name_af") + labs(title = "South Africa population density by province", caption = "Data Source: Statistics SA Census", y = "Population density per square km") + theme_bw() # affordable housing starts by year for boroughs in London ggplot(london_afford, aes(x = year, y = starts, fill = year)) + geom_col(position = position_dodge()) + facet_geo(~ code, grid = "london_boroughs_grid", label = "name") + labs(title = "Affordable Housing Starts in London", subtitle = "Each Borough, 2015-16 to 2016-17", caption = "Source: London Datastore", x = "", y = "") # dental health in Scotland ggplot(nhs_scot_dental, aes(x = year, y = percent)) + geom_line() + facet_geo(~ name, grid = "nhs_scot_grid") + scale_x_continuous(breaks = c(2004, 2007, 2010, 2013)) + scale_y_continuous(breaks = c(40, 60, 80)) + labs(title = "Child Dental Health in Scotland", subtitle = "Percentage of P1 children in Scotland with no obvious decay experience.", caption = "Source: statistics.gov.scot", x = "", y = "") # India population breakdown ggplot(subset(india_pop, type == "state"), aes(pop_type, value / 1e6, fill = pop_type)) + geom_col() + facet_geo(~ name, grid = "india_grid1", label = "code") + labs(title = "Indian Population Breakdown", caption = "Data Source: Wikipedia", x = "", y = "Population [Millions]") + theme_bw() + theme(axis.text.x = element_text(angle = 40, hjust = 1)) ggplot(subset(india_pop, type == "state"), aes(pop_type, value / 1e6, fill = pop_type)) + geom_col() + facet_geo(~ name, grid = "india_grid2", label = "name") + labs(title = "Indian Population Breakdown", caption = "Data Source: Wikipedia", x = "", y = "Population [Millions]") + theme_bw() + theme(axis.text.x = element_text(angle = 40, hjust = 1), strip.text.x = element_text(size = 6)) # A few ways to look at the 2016 election results ggplot(election, aes("", pct, fill = candidate)) + geom_col(alpha = 0.8, width = 1) + scale_fill_manual(values = c("#4e79a7", "#e15759", "#59a14f")) + facet_geo(~ state, grid = "us_state_grid2") + scale_y_continuous(expand = c(0, 0)) + labs(title = "2016 Election Results", caption = "Data Source: 2016 National Popular Vote Tracker", x = NULL, y = "Percentage of Voters") + theme(axis.title.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank(), strip.text.x = element_text(size = 6)) ggplot(election, aes(candidate, pct, fill = candidate)) + geom_col() + scale_fill_manual(values = c("#4e79a7", "#e15759", "#59a14f")) + facet_geo(~ state, grid = "us_state_grid2") + theme_bw() + coord_flip() + labs(title = "2016 Election Results", caption = "Data Source: 2016 National Popular Vote Tracker", x = NULL, y = "Percentage of Voters") + theme(strip.text.x = element_text(size = 6)) ggplot(election, aes(candidate, votes / 1000000, fill = candidate)) + geom_col() + scale_fill_manual(values = c("#4e79a7", "#e15759", "#59a14f")) + facet_geo(~ state, grid = "us_state_grid2") + coord_flip() + labs(title = "2016 Election Results", caption = "Data Source: 2016 National Popular Vote Tracker", x = NULL, y = "Votes (millions)") + theme(strip.text.x = element_text(size = 6)) ## End(Not run)
For examples, see facet_geo
.
Maintainer: Ryan Hafen [email protected]
Other contributors:
Barret Schloerke [email protected] [contributor]
Useful links:
Perform post-processing on a facet_geo ggplot object
get_geofacet_grob(x)
get_geofacet_grob(x)
x |
object of class 'facet_geo' |
Get a list of valid grid names
get_grid_names()
get_grid_names()
Get rnaturalearth data
get_ne_data(code)
get_ne_data(code)
code |
A country/continent name to get rnaturalearth data from (see |
## Not run: dat <- get_ne_data("brazil") ## End(Not run)
## Not run: dat <- get_ne_data("brazil") ## End(Not run)
Generate a grid automatically from a country/continent name or a SpatialPolygonsDataFrame or 'sf' polygons
grid_auto(x, names = NULL, codes = NULL, seed = NULL)
grid_auto(x, names = NULL, codes = NULL, seed = NULL)
x |
A country/continent name, a SpatialPolygonsDataFrame or 'sf' polygons to build a grid for. |
names |
An optional vector of variable names in |
codes |
An optional vector of variable names in |
seed |
An optional random seed sent to |
If a country or continent name is specified for x
, it can be any of the strings found in auto_countries
or auto_states
. In this case, the rnaturalearth package will be searched for the corresponding shapefiles. You can use get_ne_data
to see what these shapefiles look like.
The columns of the @data
component of resulting shapefile (either user-specified or fetched from rnaturalearth) are those that will be available to names
and codes
.
## Not run: # auto grid using a name to identify the country grd <- grid_auto("brazil", seed = 1234) grid_preview(grd, label = "name") # open the result up in the grid designer for further refinement grid_design(grd, label = "name") # using a custom file (can be GeoJSON or shapefile) ff <- system.file("extdata", "bay_counties.geojson", package = "geogrid") bay_shp <- sf::st_read(ff) grd <- grid_auto(bay_shp, seed = 1) # names are inferred grid_preview(grd, label = "name_county") grid_design(grd, label = "code_fipsstco") # explicitly specify the names and codes variables to use grd <- grid_auto(bay_shp, seed = 1, names = "county", codes = "fipsstco") grid_preview(grd, label = "name_county") grid_preview(grd, label = "code_fipsstco") ## End(Not run)
## Not run: # auto grid using a name to identify the country grd <- grid_auto("brazil", seed = 1234) grid_preview(grd, label = "name") # open the result up in the grid designer for further refinement grid_design(grd, label = "name") # using a custom file (can be GeoJSON or shapefile) ff <- system.file("extdata", "bay_counties.geojson", package = "geogrid") bay_shp <- sf::st_read(ff) grd <- grid_auto(bay_shp, seed = 1) # names are inferred grid_preview(grd, label = "name_county") grid_design(grd, label = "code_fipsstco") # explicitly specify the names and codes variables to use grd <- grid_auto(bay_shp, seed = 1, names = "county", codes = "fipsstco") grid_preview(grd, label = "name_county") grid_preview(grd, label = "code_fipsstco") ## End(Not run)
Interactively design a grid
grid_design(data = NULL, img = NULL, label = "code", auto_img = TRUE)
grid_design(data = NULL, img = NULL, label = "code", auto_img = TRUE)
data |
A data frame containing a grid to start from or NULL if starting from scratch. |
img |
An optional URL pointing to a reference image containing a geographic map of the entities in the grid. |
label |
An optional column name to use as the label for plotting the original geography, if attached to |
auto_img |
If the original geography is attached to |
# edit aus_grid1 grid_design(data = aus_grid1, img = "http://www.john.chapman.name/Austral4.gif") # start with a clean slate grid_design() # arrange the alphabet grid_design(data.frame(code = letters))
# edit aus_grid1 grid_design(data = aus_grid1, img = "http://www.john.chapman.name/Austral4.gif") # start with a clean slate grid_design() # arrange the alphabet grid_design(data.frame(code = letters))
Plot a preview of a grid
grid_preview(x, label = NULL, label_raw = NULL, do_plot = TRUE)
grid_preview(x, label = NULL, label_raw = NULL, do_plot = TRUE)
x |
a data frame containing a grid |
label |
the column name in |
label_raw |
the column name in the optional SpatialPolygonsDataFrame attached to |
do_plot |
should the grid preview be plotted? |
grid_preview(us_state_grid2) grid_preview(eu_grid1, label = "name")
grid_preview(us_state_grid2) grid_preview(eu_grid1, label = "name")
Submit a grid to be included in the package
grid_submit(x, name = NULL, desc = NULL)
grid_submit(x, name = NULL, desc = NULL)
x |
a data frame containing a grid |
name |
proposed name of the grid (if not supplied, will be asked for interactively) |
desc |
a description of the grid (if not supplied, will be asked for interactively) |
This opens up a github issue for this package in the web browser with pre-populated content for adding a grid to the package.
## Not run: my_grid <- us_state_grid1 my_grid$col[my_grid$label == "WI"] <- 7 grid_submit(my_grid, name = "us_grid_tweak_wi", desc = "Modified us_state_grid1 to move WI over") ## End(Not run)
## Not run: my_grid <- us_state_grid1 my_grid$col[my_grid$label == "WI"] <- 7 grid_submit(my_grid, name = "us_grid_tweak_wi", desc = "Modified us_state_grid1 to move WI over") ## End(Not run)
There are now 141 grids available in this package and more online. To view a full list of available grids, see here. To create and submit your own grid, see here. To see several examples of grids being used to visualize data, see facet_geo
.
us_state_grid1: Grid layout for US states (including DC) Image reference here.
us_state_grid2: Grid layout for US states (including DC) Image reference here.
eu_grid1: Grid layout for the 28 EU Countries Image reference here.
aus_grid1: Grid layout for the Australian States and Territories. Image reference here. Thanks to jonocarroll.
sa_prov_grid1: Grid layout for the provinces of South Africa Image reference here. Thanks to jonmcalder.
gb_london_boroughs_grid: Grid layout for the boroughs of London. Note that the column code_ons
contains the codes used by UK Office for National Statistics. Image reference here. Thanks to eldenvo.
nhs_scot_grid: Grid layout for a grid of NHS Scotland Health Boards. Note that the column code
contains the codes used by UK Office for National Statistics. Image reference here. Thanks to jsphdms.
india_grid1: Grid layout for India states (not including union territories). Image reference here. Thanks to meysubb.
india_grid2: Grid layout for India states (not including union territories). Image reference here.
argentina_grid1: Grid for the 23 provinces of Argentina. It includes the Malvinas/Falkland Islands and the Antarctic Territories (these are disputed, but they are included since many researchers might use data from these locations). Image reference here. Thanks to eliocamp.
br_states_grid1: Grid for the 27 states of Brazil. Image reference here. Thanks to italocegatta.
fr_regions_grid1: Land and overseas regions of France. Codes are INSEE codes. Image reference here. Thanks to mtmx.
de_states_grid1: Grid for the German states ('Länder') Image reference here. Thanks to DominikVogel.
us_wa_counties_grid1: Grid for Washington counties. Image reference here.
us_in_counties_grid1: Grid for Indiana counties. Image reference here. Thanks to nateapathy.
us_in_central_counties_grid1: Grid for central Indiana counties. Image reference here. Thanks to nateapathy.
sf_bay_area_counties_grid1: Grid of the 9 San Francisco Bay Area counties. Image reference here. Thanks to Eunoia.
ua_region_grid1: Grid of administrative divisions of Ukraine (24 oblasts, one autonomous region, and two cities). Image reference here. Thanks to woldemarg.
mx_state_grid1: Grid layout for the states of Mexico. Image reference here. Thanks to ikashnitsky.
mx_state_grid2: Grid layout for the states of Mexico. Image reference here. Thanks to diegovalle.
scotland_local_authority_grid1: Grid layout for the local authorities of Scotland. Image reference here. Thanks to davidhen.
us_state_without_DC_grid1: Grid layout for US states (excluding DC) Image reference here. Thanks to ejr248.
italy_grid1: Grid layout for regions of Italy (in collaboration with Stella Cangelosi and Luciana Dalla Valle). Image reference here. Thanks to JulianStander.
italy_grid2: Grid layout for regions of Italy (in collaboration with Stella Cangelosi and Luciana Dalla Valle). Image reference here. Thanks to JulianStander.
be_province_grid1: Grid layout for provinces of Belgium plus Brussels, including names in three languages (French, Dutch, English) and Belgium internal codes (NIS). Image reference here. Thanks to ericlecoutre.
us_state_grid3: Grid layout for US states (including DC). Image reference here. Thanks to kanishkamisra.
ng_state_grid1: Grid layout for the 37 Federal States of Nigeria. Image reference here. Thanks to aledemogr.
bd_upazila_grid1: Grid layout for Bangladesh 64 Upazilas. Image reference here. Thanks to aledemogr.
ch_cantons_grid1: Grid layout for Cantons of Switzerland. Image reference here. Thanks to tinu-schneider.
world_86countries_grid: Grid layout for 86 countries in the world. Image reference here. Thanks to akangsha.
se_counties_grid2: Grid for counties of Sweden. Image reference here. Thanks to richardohrvall.
uk_regions1: Grid for regions of the UK (aka EU standard NUTS 1 areas). Image reference here. Thanks to paulb20.
us_state_contiguous_grid1: Grid layout for the contiguous US states (including DC). Image reference here. Thanks to andrewsr.
sk_province_grid1: Grid layout for South Korean sis and dos (metropolitan/special/autonomous cities and provinces). Image reference here. Thanks to heon131.
ch_aargau_districts_grid1: Grid layout for Districts of the Canton of Aargau, Switzerland. Image reference here. Thanks to zumbov2.
spain_ccaa_grid1: Grid layout for Spanish 'Comunidades Autónomas'. Image reference here. Thanks to JoseAntonioOrtega.
spain_prov_grid2: Grid layout for Provinces of Spain. Image reference here. Thanks to JoseAntonioOrtega.
world_countries_grid1: Grid layout for countries of the world, with a few exclusions. See . Image reference here. Thanks to JoseAntonioOrtega.
china_city_grid1: Grid layout of cities in China. Image reference here. Thanks to CharleneDeng1.
kr_seoul_district_grid1: Grid layout of Seoul's 25 districts. Image reference here. Thanks to yonghah.
nz_regions_grid1: Grid layout for regions of New Zealand. Image reference here. Thanks to pierreroudier.
ar_tucuman_province_grid1: Grid layout for Argentina Tucumán Province political divisions (departments) Image reference here. Thanks to TuQmano.
us_nh_counties_grid1: Grid layout for the 10 counties in New Hampshire. Image reference here. Thanks to ghost.
pl_voivodeships_grid1: Grid layout for Polish voivodeships (provinces) Image reference here. Thanks to erzk.
ar_cordoba_dep_grid1: Grid layout for departments of Cordoba province in Argentina. Image reference here. Thanks to TuQmano.
ar_buenosaires_communes_grid1: Grid for communes of Buenos Aires, Argentina. Image reference here. Thanks to TuQmano.
nz_regions_grid2: Grid layout for regions of New Zealand. Image reference here. Thanks to pierreroudier.
ec_prov_grid1: Grid layout for provinces of Ecuador Image reference here. Thanks to Ricardo95RM.
nl_prov_grid1: Grid layout for provinces of Netherlands Image reference here. Thanks to ruditurksema.
ca_prov_grid1: Grid layout for provinces of Canada Image reference here. Thanks to michael-chong.
us_nc_counties_grid1: Grid layout for Counties of North Carolina, United States Image reference here. Thanks to mtdukes.
mx_ciudad_prov_grid1: Grid layout for Districts of Mexico City, Mexico Image reference here. Thanks to Ivangea.
bg_prov_grid1: Grid layout for provinces of Bulgaria Image reference here. Thanks to savinastoitsova.
us_hhs_regions_grid1: This grid approximates the U.S. Health and Human Services Region map Image reference here. Thanks to akitepowell.
tw_counties_grid1: Grid layout for Counties of Taiwan Image reference here. Thanks to csh484912274.
tw_counties_grid2: Grid layout for Counties of Taiwan including Lienchiang County Image reference here. Thanks to csh484912274.
us_mi_counties_grid1: Grid layout for Counties of Michigan, United States Image reference here. Thanks to jrennyb.
pe_prov_grid1: Grid layout for Provinces of Peru Image reference here. Thanks to jmcastagnetto.
sa_prov_grid2: Grid layout for Provinces of South Africa Image reference here. Thanks to kamermanpr.
mx_state_grid3: Grid layout for States of Mexico Image reference here. Thanks to ikashnitsky.
cn_bj_districts_grid1: Grids for Administrative Districts of Beijing, China Image reference here. Thanks to shiedelweiss.
us_va_counties_grid1: Grids for Counties of Virginia, United States Image reference here. Thanks to joshyazman.
us_mo_counties_grid1: Grids for Counties of Missouri, United States Image reference here. Thanks to Yanqi-Xu.
cl_santiago_prov_grid1: Communes of Santiago Province, Chile Image reference here. Thanks to robsalasco.
us_tx_capcog_counties_grid1: This is a grid of a 10 county planning region around Austin, Texas, United States Image reference here. Thanks to mth444.
sg_planning_area_grid1: Grids for Planning Areas of Singapore Image reference here. Thanks to Elenafuyi.
in_state_ut_grid1: Grid of Indian States and Union Territories Image reference here. Thanks to seanangio.
cn_fujian_prov_grid1: Grid of counties of Fujian Province, China Image reference here. Thanks to nannanchen333.
ca_quebec_electoral_districts_grid1: Grid of Electoral Districts of Québec, Canada Image reference here. Thanks to jhroy.
nl_prov_grid2: Grid with the provinces of The Netherlands with codes that are used by the statistical institute of NL Image reference here. Thanks to edwindj.
cn_bj_districts_grid2: Grid with districts of Beijing, China Image reference here. Thanks to zouhx11.
ar_santiago_del_estero_prov_grid1: Grid with districts of Santiago del Estero Province, Argentina Image reference here. Thanks to TuQmano.
ar_formosa_prov_grid1: Grid with districts of Formosa Province, Argentina Image reference here. Thanks to TuQmano.
ar_chaco_prov_grid1: Grid with districts of Chaco Province, Argentina Image reference here. Thanks to TuQmano.
ar_catamarca_prov_grid1: Grid with districts of Catamarca Province, Argentina Image reference here. Thanks to TuQmano.
ar_jujuy_prov_grid1: Grid with districts of Jujuy Province, Argentina Image reference here. Thanks to TuQmano.
ar_neuquen_prov_grid1: Grid with districts of Neuquen Province, Argentina Image reference here. Thanks to TuQmano.
ar_san_luis_prov_grid1: Grid with districts of San Luis Province, Argentina Image reference here. Thanks to TuQmano.
ar_san_juan_prov_grid1: Grid with districts of San Juan Province, Argentina Image reference here. Thanks to TuQmano.
ar_santa_fe_prov_grid1: Grid with districts of Santa Fe Province, Argentina Image reference here. Thanks to TuQmano.
ar_la_rioja_prov_grid1: Grid with districts of La Rioja Province, Argentina Image reference here. Thanks to TuQmano.
ar_mendoza_prov_grid1: Grid with districts of Mendoza Province, Argentina Image reference here. Thanks to TuQmano.
ar_salta_prov_grid1: Grid with districts of Salta Province, Argentina Image reference here. Thanks to TuQmano.
ar_rio_negro_prov_grid1: Grid with districts of Rio Negro Province, Argentina Image reference here. Thanks to TuQmano.
ar_buenos_aires_prov_electoral_dist_grid1: Grid with Electoral Districts of Buenos Aires Province, Argentina Image reference here. Thanks to TuQmano.
europe_countries_grid1: Grid layout for all European countries except Vatican City, Monaco, San Marino and Liechtenstein Image reference here. Thanks to THargreaves.
argentina_grid2: Grid layout for Argentina without Islas Malvinas and Antártida Argentina Image reference here. Thanks to TuQmano.
us_state_without_DC_grid2: Grid layout for United States with AK and HI flush with CA Image reference here. Thanks to christophercannon.
mm_state_grid1: States of Myanmar Image reference here. Thanks to htinkyawaye.
us_state_with_DC_PR_grid1: United States of America including Washington, D.C. and Puerto Rico Image reference here. Thanks to krothkin.
fr_departements_grid1: Grid for France's departements, the second levels of administrative boundaries after the regions Image reference here. Thanks to tvroylandt.
ar_salta_prov_grid2: Grids for Salta Province Argentina Image reference here. Thanks to tartagalensis.
ie_counties_grid1: Ireland counties. Code is the car number plate abbreviation for Republic counties, similar for the six counties of Northern Ireland. Tipperary is split North / South for historical reasons Image reference here. Thanks to eugene100hickey.
us_ny_counties_grid1: Counties of New York State, United States Image reference here. Thanks to jjdfsny.
ru_federal_subjects_grid1: Federal Subjects of Russia Image reference here. Thanks to ParanoidAndroid18.
us_ca_counties_grid1: Counties of the State of California, United States Image reference here. Thanks to MartinLe5.
lk_districts_grid1: Second level administrative divisions of Sri Lanka Image reference here. Thanks to thiyangt.
us_state_without_DC_grid3: United States grid without Washington, D.C Image reference here. Thanks to ghost.
co_cali_subdivisions_grid1: Corregimientos of Cali, Columbia Image reference here. Thanks to Carolina101.
us_in_northern_counties_grid1: Northern Counties of Indiana, United States Image reference here. Thanks to robertoge.
italy_grid3: Autonomous Provinces of Italy Image reference here. Thanks to danilolofaro.
us_state_with_DC_PR_grid2: Grid of 50 states, DC, and Puerto Rico Image reference here. Thanks to krmaas.
sg_planning_area_grid2: Singapore Planning Areas Image reference here. Thanks to ZhimaoElliott.
ch_cantons_fl_grid1: Grid layout for Cantons of Switzerland and the neighbouring Prinicipality of Liechtenstein Image reference here. Thanks to rastrau.
europe_countries_grid2: Grid layout for European countries (minus micro nations) Image reference here. Thanks to rastrau.
us_states_territories_grid1: Grid layout for U.S. states and territories Image reference here. Thanks to rastrau.
us_tn_counties_grid1: Grid layout for counties of Tennesee, United States Image reference here. Thanks to binkleym.
us_il_chicago_community_areas_grid1: Grid layout for the Community Areas of Chicago Image reference here. Thanks to leungkp.
us_state_with_DC_PR_grid3: United States grid with Washington, D.C. and Puerto Rico Image reference here. Thanks to klittle314.
in_state_ut_grid2: Grid of Indian States and Union Territories Image reference here. Thanks to dnyansagar.
at_states_grid1: Grid layout for States of Austria Image reference here. Thanks to werkstattcodes.
us_pa_counties_grid1: Grid layout of Counties of Pennsylvania, United States Image reference here. Thanks to urbanSpatial.
us_oh_counties_grid1: Grid layout of Counties of Ohio, United States Image reference here. Thanks to taylorokonek.
fr_departements_grid2: Grid layout of Departements of France Image reference here. Thanks to jerbou.
us_wi_counties_grid1: Grid layout for counties of Wisconsin, United States Image reference here. Thanks to aravamu2.
africa_countries_grid1: Grid for all countries in Africa. Namibia added as 'NAM' to avoid NA collisions Image reference here. Thanks to ntncmch.
no_counties_grid1: Grid of counties of Norway Image reference here. Thanks to NanAmalie1.
tr_provinces_grid1: Grid of Provinces of Turkey Image reference here. Thanks to sadettindemirel.
us_state_grid1 us_state_grid2 eu_grid1 aus_grid1 sa_prov_grid1 gb_london_boroughs_grid nhs_scot_grid india_grid1 india_grid2 argentina_grid1 br_states_grid1 sea_grid1 mys_grid1 fr_regions_grid1 de_states_grid1 us_or_counties_grid1 us_wa_counties_grid1 us_in_counties_grid1 us_in_central_counties_grid1 se_counties_grid1 sf_bay_area_counties_grid1 ua_region_grid1 mx_state_grid1 mx_state_grid2 scotland_local_authority_grid1 us_state_without_DC_grid1 italy_grid1 italy_grid2 be_province_grid1 us_state_grid3 jp_prefs_grid1 ng_state_grid1 bd_upazila_grid1 spain_prov_grid1 ch_cantons_grid1 ch_cantons_grid2 china_prov_grid1 world_86countries_grid se_counties_grid2 uk_regions1 us_state_contiguous_grid1 sk_province_grid1 ch_aargau_districts_grid1 jo_gov_grid1 spain_ccaa_grid1 spain_prov_grid2 world_countries_grid1 br_states_grid2 china_city_grid1 kr_seoul_district_grid1 nz_regions_grid1 sl_regions_grid1 us_census_div_grid1 ar_tucuman_province_grid1 us_nh_counties_grid1 china_prov_grid2 pl_voivodeships_grid1 us_ia_counties_grid1 us_id_counties_grid1 ar_cordoba_dep_grid1 us_fl_counties_grid1 ar_buenosaires_communes_grid1 nz_regions_grid2 oecd_grid1 ec_prov_grid1 nl_prov_grid1 ca_prov_grid1 us_nc_counties_grid1 mx_ciudad_prov_grid1 bg_prov_grid1 us_hhs_regions_grid1 tw_counties_grid1 tw_counties_grid2 af_prov_grid1 us_mi_counties_grid1 pe_prov_grid1 sa_prov_grid2 mx_state_grid3 cn_bj_districts_grid1 us_va_counties_grid1 us_mo_counties_grid1 cl_santiago_prov_grid1 us_tx_capcog_counties_grid1 sg_planning_area_grid1 in_state_ut_grid1 cn_fujian_prov_grid1 ca_quebec_electoral_districts_grid1 nl_prov_grid2 cn_bj_districts_grid2 ar_santiago_del_estero_prov_grid1 ar_formosa_prov_grid1 ar_chaco_prov_grid1 ar_catamarca_prov_grid1 ar_jujuy_prov_grid1 ar_neuquen_prov_grid1 ar_san_luis_prov_grid1 ar_san_juan_prov_grid1 ar_santa_fe_prov_grid1 ar_la_rioja_prov_grid1 ar_mendoza_prov_grid1 ar_salta_prov_grid1 ar_rio_negro_prov_grid1 uy_departamentos_grid1 ar_buenos_aires_prov_electoral_dist_grid1 europe_countries_grid1 argentina_grid2 us_state_without_DC_grid2 jp_prefs_grid2 na_regions_grid1 mm_state_grid1 us_state_with_DC_PR_grid1 fr_departements_grid1 ar_salta_prov_grid2 ie_counties_grid1 sg_regions_grid1 us_ny_counties_grid1 ru_federal_subjects_grid1 us_ca_counties_grid1 lk_districts_grid1 us_state_without_DC_grid3 co_cali_subdivisions_grid1 us_in_northern_counties_grid1 italy_grid3 us_state_with_DC_PR_grid2 us_state_grid7 sg_planning_area_grid2 ch_cantons_fl_grid1 europe_countries_grid2 us_states_territories_grid1 us_tn_counties_grid1 us_il_chicago_community_areas_grid1 us_state_with_DC_PR_grid3 in_state_ut_grid2 at_states_grid1 us_pa_counties_grid1 us_oh_counties_grid1 fr_departements_grid2 us_wi_counties_grid1 africa_countries_grid1 no_counties_grid1 tr_provinces_grid1
us_state_grid1 us_state_grid2 eu_grid1 aus_grid1 sa_prov_grid1 gb_london_boroughs_grid nhs_scot_grid india_grid1 india_grid2 argentina_grid1 br_states_grid1 sea_grid1 mys_grid1 fr_regions_grid1 de_states_grid1 us_or_counties_grid1 us_wa_counties_grid1 us_in_counties_grid1 us_in_central_counties_grid1 se_counties_grid1 sf_bay_area_counties_grid1 ua_region_grid1 mx_state_grid1 mx_state_grid2 scotland_local_authority_grid1 us_state_without_DC_grid1 italy_grid1 italy_grid2 be_province_grid1 us_state_grid3 jp_prefs_grid1 ng_state_grid1 bd_upazila_grid1 spain_prov_grid1 ch_cantons_grid1 ch_cantons_grid2 china_prov_grid1 world_86countries_grid se_counties_grid2 uk_regions1 us_state_contiguous_grid1 sk_province_grid1 ch_aargau_districts_grid1 jo_gov_grid1 spain_ccaa_grid1 spain_prov_grid2 world_countries_grid1 br_states_grid2 china_city_grid1 kr_seoul_district_grid1 nz_regions_grid1 sl_regions_grid1 us_census_div_grid1 ar_tucuman_province_grid1 us_nh_counties_grid1 china_prov_grid2 pl_voivodeships_grid1 us_ia_counties_grid1 us_id_counties_grid1 ar_cordoba_dep_grid1 us_fl_counties_grid1 ar_buenosaires_communes_grid1 nz_regions_grid2 oecd_grid1 ec_prov_grid1 nl_prov_grid1 ca_prov_grid1 us_nc_counties_grid1 mx_ciudad_prov_grid1 bg_prov_grid1 us_hhs_regions_grid1 tw_counties_grid1 tw_counties_grid2 af_prov_grid1 us_mi_counties_grid1 pe_prov_grid1 sa_prov_grid2 mx_state_grid3 cn_bj_districts_grid1 us_va_counties_grid1 us_mo_counties_grid1 cl_santiago_prov_grid1 us_tx_capcog_counties_grid1 sg_planning_area_grid1 in_state_ut_grid1 cn_fujian_prov_grid1 ca_quebec_electoral_districts_grid1 nl_prov_grid2 cn_bj_districts_grid2 ar_santiago_del_estero_prov_grid1 ar_formosa_prov_grid1 ar_chaco_prov_grid1 ar_catamarca_prov_grid1 ar_jujuy_prov_grid1 ar_neuquen_prov_grid1 ar_san_luis_prov_grid1 ar_san_juan_prov_grid1 ar_santa_fe_prov_grid1 ar_la_rioja_prov_grid1 ar_mendoza_prov_grid1 ar_salta_prov_grid1 ar_rio_negro_prov_grid1 uy_departamentos_grid1 ar_buenos_aires_prov_electoral_dist_grid1 europe_countries_grid1 argentina_grid2 us_state_without_DC_grid2 jp_prefs_grid2 na_regions_grid1 mm_state_grid1 us_state_with_DC_PR_grid1 fr_departements_grid1 ar_salta_prov_grid2 ie_counties_grid1 sg_regions_grid1 us_ny_counties_grid1 ru_federal_subjects_grid1 us_ca_counties_grid1 lk_districts_grid1 us_state_without_DC_grid3 co_cali_subdivisions_grid1 us_in_northern_counties_grid1 italy_grid3 us_state_with_DC_PR_grid2 us_state_grid7 sg_planning_area_grid2 ch_cantons_fl_grid1 europe_countries_grid2 us_states_territories_grid1 us_tn_counties_grid1 us_il_chicago_community_areas_grid1 us_state_with_DC_PR_grid3 in_state_ut_grid2 at_states_grid1 us_pa_counties_grid1 us_oh_counties_grid1 fr_departements_grid2 us_wi_counties_grid1 africa_countries_grid1 no_counties_grid1 tr_provinces_grid1
2011 population data for India, broken down by urban and rural. Source: https://en.wikipedia.org/wiki/List_of_states_and_union_territories_of_India_by_population.
india_pop
india_pop
Total affordable housing completions by financial year in each London borough since 2015/16. Source: https://data.london.gov.uk/dataset/dclg-affordable-housing-supply-borough
london_afford
london_afford
Child dental health data in Scotland. Source: http://statistics.gov.scot/data/child-dental-health
nhs_scot_dental
nhs_scot_dental
Plot geofaceted ggplot2 object
## S3 method for class 'facet_geo' plot(x, ...)
## S3 method for class 'facet_geo' plot(x, ...)
x |
plot object |
... |
ignored |
Print geofaceted ggplot2 object
## S3 method for class 'facet_geo' print(x, newpage = is.null(vp), vp = NULL, ...)
## S3 method for class 'facet_geo' print(x, newpage = is.null(vp), vp = NULL, ...)
x |
plot object |
newpage |
draw new (empty) page first? |
vp |
viewport to draw plot in |
... |
other arguments not used by this method |
Population density for each province in South Africa for 1996, 2001, and 2011. Source: https://en.wikipedia.org/wiki/List_of_South_African_provinces_by_population_density
sa_pop_dens
sa_pop_dens
State rankings in the following categories with the variable upon which ranking is based in parentheses: education (adults over 25 with a bachelor's degree in 2015), employment (March 2017 unemployment rate - Bureau of Labor Statistics), health (obesity rate from 2015 - Centers for Disease Control), insured (uninsured rate in 2015 - US Census), sleep (share of adults that report at least 7 hours of sleep each night from 2016 - Disease Control), wealth (poverty rate 2014/15 - US Census). In each category, the lower the ranking, the more favorable. This data is based on data presented here: https://www.axios.com/2017/12/15/the-emoji-states-of-america-1513302318
state_ranks
state_ranks
Seasonally-adjusted December unemployment rate for each state (including DC) from 2000 to 2017. Obtained from bls.gov.
state_unemp
state_unemp