Learn R Programming

simplevis (version 1.1.4)

ggplot_sf_col: Map of simple features in ggplot that is coloured.

Description

Map of simple features in ggplot that is coloured, but not facetted.

Usage

ggplot_sf_col(data, col_var, col_method = NULL, bin_cuts = NULL,
  quantile_cuts = c(0, 0.25, 0.5, 0.75, 1), size = 0.5, alpha = 0.9,
  pal = NULL, rev_pal = FALSE, col_scale_drop = FALSE,
  remove_na = FALSE, coastline = NULL, coastline_behind = TRUE,
  coastline_pal = "#7f7f7f", legend_ncol = 3, legend_digits = 1,
  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)

Arguments

data

A sf object with defined coordinate reference system. Required input.

col_var

Unquoted variable for points to be coloured by. Required input.

col_method

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).

bin_cuts

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.

quantile_cuts

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".

size

Size of points. Defaults to 0.5.

alpha

The opacity of polygons. Defaults to 0.9.

pal

Character vector of hex codes. Defaults to NULL, which selects the colorbrewer Set1 or viridis.

rev_pal

Reverses the palette. Defaults to FALSE.

col_scale_drop

TRUE or FALSE of whether to drop unused levels from the legend. Defaults to FALSE.

remove_na

TRUE or FALSE of whether to remove NAs of the colour variable. Defaults to FALSE.

coastline

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.

coastline_behind

TRUE or FALSE as to whether the coastline is to be behind the sf object defined in the data argument. Defaults to FALSE.

coastline_pal

Colour of the coastline. Defaults to "#7F7F7F".

legend_ncol

The number of columns in the legend.

legend_digits

Select the appropriate number of decimal places for numeric variable auto legend labels. Defaults to 1.

title

Title string. Defaults to "[Title]".

subtitle

Subtitle string. Defaults to "[Subtitle]".

col_title

Colour title string for the legend. Defaults to NULL.

caption

Caption title string. Defaults to NULL.

legend_labels

A vector of manual legend label values. Defaults to NULL, which results in automatic labels.

font_family

Font family to use. Defaults to "Helvetica".

font_size_title

Font size for the title text. Defaults to 11.

font_size_body

Font size for all text other than the title. Defaults to 10.

wrap_title

Number of characters to wrap the title to. Defaults to 70. Not applicable where isMobile equals TRUE.

wrap_subtitle

Number of characters to wrap the subtitle to. Defaults to 80. Not applicable where isMobile equals TRUE.

wrap_col_title

Number of characters to wrap the colour title to. Defaults to 25. Not applicable where isMobile equals TRUE.

wrap_caption

Number of characters to wrap the caption to. Defaults to 80. Not applicable where isMobile equals TRUE.

isMobile

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

Value

A ggplot object.

Examples

Run this code
# NOT RUN {
ggplot_sf_col(data = example_sf_nz_livestock, col_var = dairydens, coastline = nz,
     col_method = "bin", bin_cuts = c(0, 10, 50, 100, 150, 200, Inf), legend_digits = 0,
     title = "Dairy density in count per km\u00b2, 2017")

ggplot_sf_col(data = example_sf_nz_livestock, col_var = dairydens, coastline = nz,
     col_method = "quantile", quantile_cuts = c(0, 0.25, 0.5, 0.75, 0.95, 1),
     title = "Dairy density in count per km\u00b2, 2017")

map_data <- example_sf_nz_river_wq %>%
  dplyr::filter(period == "1998-2017", indicator == "Nitrate-nitrogen")
  
 pal <- c("#4575B4", "#D3D3D3", "#D73027")

ggplot_sf_col(data = map_data, col_var = trend_category, coastline = nz, 
   pal = pal, col_method = "category",
   title = "Monitored river nitrate-nitrogen trends, 2008-17")
# }

Run the code above in your browser using DataLab