Map of simple features in ggplot that is coloured and facetted.
ggplot_sf_col_facet(data, col_var, facet_var, col_method = NULL,
bin_cuts = NULL, quantile_cuts = c(0, 0.25, 0.5, 0.75, 1),
quantile_by_facet = TRUE, size = 0.5, alpha = 0.9, pal = NULL,
rev_pal = FALSE, col_scale_drop = FALSE, remove_na = FALSE,
facet_nrow = NULL, legend_ncol = 3, legend_digits = 1,
coastline = NULL, coastline_behind = TRUE,
coastline_pal = "#7f7f7f", title = "[Title]", subtitle = NULL,
col_title = "", caption = "", legend_labels = NULL,
font_family = "Helvetica", font_size_title = NULL,
font_size_body = NULL, wrap_title = 70, wrap_subtitle = 80,
wrap_col_title = 25, wrap_caption = 80, isMobile = FALSE)
A sf object with defined coordinate reference system. Required input.
Unquoted variable for points to be coloured by. Required input.
Unquoted categorical variable to facet the data by. Required input.
The method of colouring features, either "bin", "quantile" or "category." NULL results in "category", if categorical or "quantile" if numeric col_var. Note all numeric variables are cut to be inclusive of the min in the range, and exclusive of the max in the range (except for the final bucket which includes the highest value).
A vector of bin cuts applicable where col_method of "bin" is selected. The first number in the vector should be either -Inf or 0, and the final number Inf. If NULL, 'pretty' breaks are used.
A vector of probability cuts applicable where col_method of "quantile" is selected. The first number in the vector should 0 and the final number 1. Defaults to quartiles. Only applicable where col_method equals "quantile".
TRUE of FALSE whether quantiles should be calculated for each group of the facet variable. Defaults to TRUE.
Size of points. Defaults to 0.5.
The opacity of polygons. Defaults to 0.9.
Character vector of hex codes. Defaults to NULL, which selects the colorbrewer Set1 or viridis.
Reverses the palette. Defaults to FALSE.
TRUE or FALSE of whether to drop unused levels from the legend. Defaults to FALSE.
TRUE or FALSE of whether to remove NAs of the colour variable. Defaults to FALSE.
The number of rows of facetted plots. Not applicable to where isMobile is TRUE.
The number of columns in the legend.
Select the appropriate number of decimal places for numeric variable auto legend labels. Defaults to 1.
Add a sf object as a coastline (or administrative boundaries). Defaults to NULL. Use nz (or nz_region) to add a new zealand coastline. Or add a custom sf object.
TRUE or FALSE as to whether the coastline is to be behind the sf object defined in the data argument. Defaults to FALSE.
Colour of the coastline. Defaults to "#7F7F7F".
Title string. Defaults to "[Title]".
Subtitle string. Defaults to "[Subtitle]".
Colour title string for the legend. Defaults to NULL.
Caption title string. Defaults to NULL.
A vector of manual legend label values. Defaults to NULL, which results in automatic labels.
Font family to use. Defaults to "Helvetica".
Font size for the title text. Defaults to 11.
Font size for all text other than the title. Defaults to 10.
Number of characters to wrap the title to. Defaults to 70. Not applicable where isMobile equals TRUE.
Number of characters to wrap the subtitle to. Defaults to 80. Not applicable where isMobile equals TRUE.
Number of characters to wrap the colour title to. Defaults to 25. Not applicable where isMobile equals TRUE.
Number of characters to wrap the caption to. Defaults to 80. Not applicable where isMobile equals TRUE.
Whether the plot is to be displayed on a mobile device. Defaults to FALSE. In a shiny app, use input$isMobile if your app is able to retreive this input. A method to do this is described at https://g3rv4.com/2017/08/shiny-detect-mobile-browsers
A ggplot object.
# NOT RUN {
map_data <- example_sf_nz_river_wq %>%
dplyr::filter(period == "1998-2017",
indicator %in% c("Nitrate-nitrogen", "Dissolved reactive phosphorus"))
pal <- c("#4575B4", "#D3D3D3", "#D73027")
ggplot_sf_col_facet(data = map_data, col_var = trend_category, facet_var = indicator,
coastline = nz, pal = pal,
title = "Monitored river nitrate-nitrogen trends, 2008-17")
# }
Run the code above in your browser using DataLab