Skip to contents

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

Usage

gg_sf_col(
  data,
  col_var,
  text_var = NULL,
  borders = NULL,
  borders_on_top = NULL,
  pal = NULL,
  pal_na = "#7F7F7F",
  pal_rev = FALSE,
  pal_borders = "#7F7F7F",
  alpha_fill = NULL,
  alpha_line = 1,
  alpha_point = 1,
  alpha_borders = 0.5,
  size_line = 0.5,
  size_point = 1.5,
  size_borders = 0.2,
  title = NULL,
  title_wrap = 80,
  subtitle = NULL,
  subtitle_wrap = 80,
  col_breaks_n = 4,
  col_cuts = NULL,
  col_intervals_left = TRUE,
  col_labels = NULL,
  col_legend_none = FALSE,
  col_na_rm = FALSE,
  col_method = NULL,
  col_title = NULL,
  col_title_wrap = 25,
  caption = NULL,
  caption_wrap = 80,
  theme = gg_theme(void = TRUE),
  mobile = FALSE
)

Arguments

data

A sf object with defined coordinate reference system in a structure to be plotted untransformed. Required input.

col_var

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

text_var

Unquoted variable to be used as a customised tooltip in combination with plotly::ggplotly(plot, tooltip = "text"). Defaults to NULL.

borders

A sf object as administrative boundaries (or coastlines). Defaults to no boundaries added. The rnaturalearth package is a useful source of country and state boundaries.

borders_on_top

TRUE or FALSE as to whether the borders are on top of the sf object supplied to the data argument. Defaults to TRUE for points and lines, but FALSE for polygons..

pal

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

pal_na

The hex code or name of the NA colour to be used.

pal_rev

Reverses the palette. Defaults to FALSE.

pal_borders

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

alpha_fill

The opacity of the fill.

alpha_line

The alpha of lines and outlines.

alpha_point

The alpha of points.

alpha_borders

Opacity of the borders. Defaults to 0.5.

size_line

Size of lines. Defaults to 0.5.

size_point

Size of points. Defaults to 1.5.

size_borders

Size of the borders. Defaults to 0.2.

title

Title string.

title_wrap

Number of characters to wrap the title to. Defaults to 75.

subtitle

Subtitle string.

subtitle_wrap

Number of characters to wrap the subtitle to. Defaults to 100. Not applicable where mobile equals TRUE.

col_breaks_n

For a numeric colour variable, the desired number of intervals on the colour scale.

col_cuts

A vector of cuts to colour a numeric variable. If "bin" is selected, the first number in the vector should be either -Inf or 0, and the final number Inf. If "quantile" is selected, the first number in the vector should be 0 and the final number should be 1. Defaults to quartiles.

col_intervals_left

For a numeric colour variable, TRUE or FALSE of whether bins or quantiles are to be cut left-closed. Defaults to TRUE.

col_labels

A function or named vector to modify colour scale labels. Defaults to snakecase::to_sentence_case for categorical colour variables and scales::comma for numeric colour variables. Use ggplot2::waiver() to keep colour labels untransformed.

col_legend_none

TRUE or FALSE of whether to remove the legend.

col_na_rm

TRUE or FALSE of whether to include col_var NA values. Defaults to FALSE.

col_method

The method of colouring features, either "bin", "quantile", "continuous", or "category." If numeric, defaults to "bin".

col_title

Colour title string for the legend. Defaults to NULL, which converts to sentence case with spaces. Use "" if you would like no title.

col_title_wrap

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

caption

Caption title string.

caption_wrap

Number of characters to wrap the caption to. Defaults to 80.

theme

A ggplot2 theme.

mobile

Whether the plot is to be displayed on a mobile device. Defaults to FALSE.

Value

A ggplot object.

Examples

gg_sf_col(example_point,
          col_var = trend_category, 
          borders = example_borders)


gg_sf_col(example_polygon,
          col_var = density, 
          borders = example_borders)


gg_sf_col(example_polygon,
          col_var = density,
          col_method = "bin",
          col_breaks_n = 5, 
          borders = example_borders)


gg_sf_col(example_polygon,
          col_var = density,
          col_method = "bin",
          col_cuts = c(0, 10, 50, 100, 150, 200, Inf),
          borders = example_borders)

          
gg_sf_col(example_polygon,
          col_var = density,
          col_method = "quantile",
          col_breaks_n = 4, 
          borders = example_borders)


gg_sf_col(example_polygon,
          col_var = density,
          col_method = "quantile",
          col_cuts = c(0, 0.25, 0.5, 0.75, 0.95, 1), 
          borders = example_borders)