Learn R Programming

simplevis (version 4.0.0)

gg_boxplot: Boxplot ggplot.

Description

Boxplot ggplot that is not coloured and not facetted.

Usage

gg_boxplot(
  data,
  x_var,
  y_var = NULL,
  stat = "boxplot",
  pal = NULL,
  width = 0.5,
  alpha = 1,
  size_line = 0.5,
  size_point = 1,
  title = NULL,
  title_wrap = 70,
  subtitle = NULL,
  subtitle_wrap = 80,
  x_balance = FALSE,
  x_labels = NULL,
  x_na = TRUE,
  x_pretty_n = 6,
  x_expand = NULL,
  x_rev = FALSE,
  x_title = NULL,
  x_title_wrap = 50,
  x_zero = FALSE,
  x_zero_line = NULL,
  y_balance = FALSE,
  y_expand = NULL,
  y_labels = waiver(),
  y_na = TRUE,
  y_pretty_n = 5,
  y_title = NULL,
  y_title_wrap = 50,
  y_trans = "identity",
  y_zero = FALSE,
  y_zero_line = NULL,
  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). Required input.

y_var

Generally an unquoted numeric variable to be on the y scale. However if stat = "identity" is selected, a list-column with min, lower, middle, upper, and max variable names.

stat

String of "boxplot" or "identity". Defaults to "boxplot".

pal

Character vector of hex codes.

width

Width of the box. Defaults to 0.5.

alpha

The alpha of the fill. Defaults to 1.

size_line

The size of the outlines of boxplots. Defaults to 0.5.

size_point

The size of the outliers. Defaults to 1.

title

Title string. Defaults to NULL.

title_wrap

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

subtitle

Subtitle string.

subtitle_wrap

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

x_balance

For a numeric x variable, add balance to the x scale so that zero is in the centre. Defaults to FALSE.

x_labels

A function or vector to modify x scale labels, as per the ggplot2 labels argument in ggplot2 scales functions. 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_pretty_n

For a numeric or date x variable, the desired number of intervals on the x scale, as calculated by the pretty algorithm. Defaults to 6.

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_rev

For a categorical x variable, 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.

x_zero

For a numeric x variable, TRUE or FALSE of whether the minimum of the x scale is zero. Defaults to FALSE.

x_zero_line

For a numeric x variable, TRUE or FALSE of whether to add a zero reference line to the x scale. Defaults to TRUE if there are positive and negative values in x_var. Otherwise defaults to FALSE.

y_balance

For a numeric y variable, add balance to the y scale so that zero is in the centre of the y scale.

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 vector to modify y scale labels, as per the ggplot2 labels argument in ggplot2 scales functions. 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_pretty_n

For a numeric or date x variable, the desired number of intervals on the x scale, as calculated by the pretty algorithm. Defaults to 5.

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.

y_trans

For a numeric y variable, a string specifying a transformation for the y scale, such as "log10" or "sqrt". Defaults to "identity".

y_zero

For a numeric y variable, TRUE or FALSE of whether the minimum of the y scale is zero. Defaults to TRUE.

y_zero_line

For a numeric y variable, TRUE or FALSE whether to add a zero reference line to the y scale. Defaults to TRUE if there are positive and negative values in y_var. Otherwise defaults to FALSE.

caption

Caption title string.

caption_wrap

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

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(dplyr)
library(simplevis)
library(palmerpenguins)

gg_boxplot(penguins, species, body_mass_g)

plot_data <- penguins %>%
  group_by(species) %>%
  summarise(across(bill_length_mm, ~ list(
    rlang::set_names(
      boxplot.stats(.x)$stats,
      c('min', 'lower', 'middle', 'upper', 'max')
    )
  )))
  
plot_data

plot_data %>% 
  tidyr::unnest_wider(bill_length_mm)

gg_boxplot(plot_data, species, bill_length_mm, stat = "identity")

# }

Run the code above in your browser using DataLab