Pass in desired data frame and grid and get back a square choropleth. The function takes
inspiration from the statebins function, modifying it to allow for non-US grids and territories,
e.g. as defined in the geofacet package.
The output is a ggplot2 object to which additional layers can be added.
geoheatmap(
facet_data = NULL,
grid_data = NULL,
facet_col = NULL,
value_col = NULL,
merge_col = NULL,
dark_label = "black",
light_label = "white",
na_label = "white",
font_size = 3,
facet_border_col = "white",
facet_border_size = 2,
round = FALSE,
radius = grid::unit(6, "pt"),
ggplot2_scale_function = ggplot2::scale_fill_continuous,
hover = FALSE,
...
)ggplot2 object
data frame of facets (geographical locations) and values to plot
data frame of matching geographical grid positions
column name in facet_data that holds the facets. No duplicates;
can be full names (e.g. "Netherlands") or abbreviations (e.g. "NL")
column name in facet_data that holds the values to be plotted
grids can sometimes hold both native and anglophone language geographical names
(e.g. "Bayern/Bavaria". If native option is preferable, use merge_col;
defaults to "name".
dark/light/NA label colors. The specified color will be used when the algorithm determines labels should be inverted.
font size (default = 3)
default "white" - this creates the "spaces" between boxes
border size
rounded corners (default: FALSE)
if round is TRUE then use grid::unit to specify the corner radius.
Default is grid::unit(6, "pt") if using rounded corners.
ggplot2 scale function to use. Defaults to scale_fill_continuous
if hover is TRUE, enables interactive plotly plot (see also ggplotly).
Note it only works when round is set to FALSE.
additional parameters to the scale function
Like in the statebins package, we offer the option to specify a dark_label color
and a light_label color. Depending on the selected colour scale function,
geoheatmap will use that information to determine what label to use on lighter/darker tiles.
This should in principle mean that labels never fade into the background.
Note that this only applies if colours are defined within function,
i.e. not called after the object has already been created.
You can customize the scale function you pass in by using name parameters. All named
parameters not used by geoheatmap() itself get passed to the scale function.
The default theme is set to theme_void(), but this can be either overwritten,
or added onto depending on intended plot purposes.
Bob Rudis. (2022). statebins: Create United States Uniform Cartogram Heatmaps. R package version 1.4.0. URL: https://CRAN.R-project.org/package=statebins
Ryan Hafen. (2018). geofacet: 'ggplot2' Faceting Utilities for Geographical Data. R package version 0.2.1. URL: https://CRAN.R-project.org/package=geofacet
statebins geofacet
data(internet)
library(geofacet)
library(ggplot2)
internet_2015 <- subset(internet, year == 2015)
geoheatmap(facet_data= internet_2015, grid_data= europe_countries_grid1,
facet_col = "country", value_col = "users")
Run the code above in your browser using DataLab