Pass in a data frame of states and values and let this do the work. It enables
easy faceting and makes it simpler to have a uniform legend across all the
plots.
There are two special/critical aes()
mappings:
state
(so the geom knows which column to map the state names/abbrevs to)
fill
(which column you're mapping the filling for the squares with)
geom_statebins( mapping = NULL, data = NULL, border_col = "white", border_size = 2, lbl_size = 3, dark_lbl = "black", light_lbl = "white", radius = grid::unit(6, "pt"), ..., na.rm = FALSE, show.legend = NA, inherit.aes = TRUE ) GeomStatebins
mapping | Set of aesthetic mappings created by |
---|---|
data | The data to be displayed in this layer. There are three options: If A A |
border_col | border color of the state squares, default " |
border_size | thickness of the square state borders |
lbl_size | font size (relative) of the label text |
dark_lbl, light_lbl | colrs to be uses when the label should be dark or light. The function automagically computes when this should be. |
radius | the corner radius |
... | other arguments passed on to |
na.rm | If |
show.legend | logical. Should this layer be included in the legends?
|
inherit.aes | If |
An object of class GeomStatebins
(inherits from Geom
, ggproto
, gg
) of length 7.
if (FALSE) { library(statebins) library(cdcfluview) library(hrbrthemes) library(tidyverse) flu <- ili_weekly_activity_indicators(2017) ggplot(flu, aes(state=statename, fill=activity_level)) + geom_statebins() + coord_equal() + viridis::scale_fill_viridis( name = "ILI Activity Level ", limits=c(0,10), breaks=0:10, option = "magma", direction = -1 ) + facet_wrap(~weekend) + labs(title="2017-18 Flu Season ILI Activity Level") + theme_statebins(base_family = font_ps) + theme(plot.title=element_text(size=16, hjust=0)) + theme(plot.margin = margin(30,30,30,30)) }