Learn R Programming

simplevis (version 4.5.0)

gg_tile_col_facet: Tile ggplot that is coloured and facetted.

Description

Tile ggplot that is coloured and facetted.

Usage

gg_tile_col_facet(
  data,
  x_var,
  y_var,
  col_var,
  facet_var,
  label_var = NULL,
  text_var = NULL,
  pal = NULL,
  pal_label = NULL,
  pal_na = "#7F7F7FFF",
  pal_rev = FALSE,
  width = 1,
  alpha = 1,
  size_line = 0.5,
  size_label = 3.5,
  title = NULL,
  title_wrap = 100,
  subtitle = NULL,
  subtitle_wrap = 100,
  x_expand = waiver(),
  x_labels = stringr::str_to_sentence,
  x_na = TRUE,
  x_rev = FALSE,
  x_title = NULL,
  x_title_wrap = 50,
  y_expand = waiver(),
  y_labels = stringr::str_to_sentence,
  y_na = TRUE,
  y_rev = FALSE,
  y_title = NULL,
  y_title_wrap = 50,
  col_cuts = NULL,
  col_labels = NULL,
  col_method = NULL,
  col_na = TRUE,
  col_pretty_n = 4,
  col_right_closed = TRUE,
  col_title = NULL,
  col_title_wrap = 25,
  facet_labels = stringr::str_to_sentence,
  facet_na = TRUE,
  facet_ncol = NULL,
  facet_nrow = NULL,
  facet_scales = "fixed",
  caption = NULL,
  caption_wrap = 80,
  font_family = "",
  font_size_title = NULL,
  font_size_body = NULL,
  mobile = FALSE
)

Arguments

data

A tibble or dataframe. Required input.

x_var

Unquoted variable to be on the x scale (i.e. character, factor, logical, numeric, date or datetime). If numeric, date or datetime, variable values are bins that are mutually exclusive and equidistant. Required input.

y_var

Unquoted numeric variable to be on the y scale. Required input.

col_var

Unquoted categorical variable to colour the tiles. Required input.

facet_var

Unquoted categorical variable to facet the data by. Required input.

label_var

Unquoted variable to label the tiles.

text_var

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

pal

Character vector of hex codes.

pal_label

Hex code for the label font colour.

pal_na

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

pal_rev

Reverses the palette. Defaults to FALSE.

width

Width of tiles. Defaults to 1.

alpha

The alpha of the fill. Defaults to 1.

size_line

The size of the outlines of tiles.

size_label

The size of the of labels. Defaults to 3.5.

title

Title string. Defaults to NULL.

title_wrap

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

subtitle

Subtitle string.

subtitle_wrap

Number of characters to wrap the subtitle to. Defaults to 100.

x_expand

A vector of range expansion constants used to add padding to the x scale, as per the ggplot2 expand argument in ggplot2 scales functions.

x_labels

A function or named vector to modify x scale labels. If NULL, categorical variable labels are converted to sentence case. Use ggplot2::waiver() to keep x labels untransformed.

x_na

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

x_rev

TRUE or FALSE of whether the x variable variable is reversed. Defaults to FALSE.

x_title

X scale title string. Defaults to NULL, which converts to sentence case with spaces. Use "" if you would like no title.

x_title_wrap

Number of characters to wrap the x title to. Defaults to 50.

y_expand

A vector of range expansion constants used to add padding to the y scale, as per the ggplot2 expand argument in ggplot2 scales functions.

y_labels

A function or named vector to modify y scale labels. If NULL, categorical variable labels are converted to sentence case. Use ggplot2::waiver() to keep y labels untransformed.

y_na

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

y_rev

TRUE or FALSE of whether the y variable variable is reversed. Defaults to FALSE.

y_title

y scale title string. Defaults to NULL, which converts to sentence case with spaces. Use "" if you would like no title.

y_title_wrap

Number of characters to wrap the y title to. Defaults to 50.

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_labels

A function or named vector to modify colour scale labels. Defaults to stringr::str_to_sentence for categorical colour variables and an internal function for numeric colour variables. Use ggplot2::waiver() to keep colour labels untransformed.

col_method

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

col_na

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

col_pretty_n

For a numeric colour variable of "bin" col_method, the desired number of intervals on the colour scale, as calculated by the pretty algorithm. Defaults to 4.

col_right_closed

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

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.

facet_labels

A function or named vector to modify facet scale labels. Defaults to converting labels to sentence case. Use ggplot2::waiver() to keep facet labels untransformed.

facet_na

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

facet_ncol

The number of columns of facetted plots.

facet_nrow

The number of rows of facetted plots.

facet_scales

Whether facet_scales should be "fixed" across facets, "free" in both directions, or free in just one direction (i.e. "free_x" or "free_y"). Defaults to "fixed".

caption

Caption title string.

caption_wrap

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

font_family

Font family to use. Defaults to "".

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.

mobile

Whether the plot is to be displayed on a mobile device. Defaults to FALSE. If within a shiny app with the mobileDetect function, then use mobile = input$isMobile.

Value

A ggplot object.

Examples

Run this code
# NOT RUN {
library(simplevis)
library(dplyr)
library(palmerpenguins)

plot_data <- penguins %>% 
    group_by(species, sex, island) %>% 
    summarise(bill_length_mm = round(mean(bill_length_mm, na.rm = TRUE), 0)) %>% 
    mutate(label = glue::glue("{bill_length_mm} mm"))
    
gg_tile_col_facet(plot_data,
    x_var = sex,
    y_var = island,
    col_var = bill_length_mm,
    facet_var = species,
    label_var = label, 
    x_na = FALSE, 
    pal_rev = TRUE)
    
# }

Run the code above in your browser using DataLab