Boxplot ggplot that is not coloured and not facetted.
ggplot_box(data, x_var, y_var = NULL, group_var = NULL, stat = "boxplot", pal = NULL, width = 0.5, title = "[Title]", title_wrap = 70, subtitle = NULL, subtitle_wrap = 80, x_expand = NULL, x_labels = waiver(), x_pretty_n = 6, x_title = "[X title]", x_title_wrap = 50, y_balance = FALSE, y_expand = NULL, y_labels = waiver(), y_pretty_n = 5, y_title = "[Y title]", y_title_wrap = 50, y_trans = "identity", y_zero = TRUE, y_zero_line = NULL, caption = NULL, caption_wrap = 80, font_family = "Helvetica", font_size_title = NULL, font_size_body = NULL, isMobile = FALSE)
| data | A tibble or dataframe. Required input. | 
|---|---|
| x_var | Unquoted variable to be on the x axis. Required input. | 
| y_var | Unquoted numeric variable to be on the y axis. Defaults to NULL. Required if stat equals "boxplot". | 
| group_var | Unquoted variable to be the grouping variable Defaults to NULL. Only applicable if stat equals "boxplot". | 
| stat | String of "boxplot" or "identity". Defaults to "boxplot". If identity is selected, data provided must be grouped by the x_var with ymin, lower, middle, upper, ymax variables. Note "identity" does not provide outliers. | 
| pal | Character vector of hex codes. Defaults to viridis. Use the pals package to find a suitable palette. | 
| width | Width of the box. Defaults to 0.5. | 
| title | Title string. Defaults to "[Title]". | 
| title_wrap | Number of characters to wrap the title to. Defaults to 70. Not applicable where isMobile equals TRUE. | 
| subtitle | Subtitle string. Defaults to "[Subtitle]". | 
| subtitle_wrap | Number of characters to wrap the subtitle to. Defaults to 80. Not applicable where isMobile equals TRUE. | 
| x_expand | A vector of range expansion constants used to add some padding on the x scale. | 
| x_labels | Argument to adjust the format of the x scale labels. | 
| x_pretty_n | The desired number of intervals on the x axis, as calculated by the pretty algorithm. Defaults to 6. Only applicable to a x variable that is categorical or date. | 
| x_title | X axis title string. Defaults to "[X title]". | 
| x_title_wrap | Number of characters to wrap the x title to. Defaults to 50. Not applicable where isMobile equals TRUE. | 
| y_balance | Add balance to the y axis so that zero is in the centre of the y scale. | 
| y_expand | A vector of range expansion constants used to add some padding on the y scale. | 
| y_labels | Argument to adjust the format of the y scale labels. | 
| y_pretty_n | The desired number of intervals on the y axis, as calculated by the pretty algorithm. Defaults to 5. | 
| y_title | Y axis title string. Defaults to "[Y title]". | 
| y_title_wrap | Number of characters to wrap the y title to. Defaults to 50. Not applicable where isMobile equals TRUE. | 
| y_trans | TRUEransformation of y-axis scale (e.g. "signed_sqrt"). Defaults to "identity", which has no transformation. | 
| y_zero | TRUE or FALSE of whether the minimum of the y scale is zero. Defaults to TRUE. | 
| y_zero_line | TRUE or FALSE whether to add a zero reference line to the y axis. Defaults to NULL, which is TRUE if there are positive and negative values in y_var. Otherwise it is FALSE. | 
| caption | Caption title string. Defaults to NULL. | 
| caption_wrap | Number of characters to wrap the caption to. Defaults to 80. Not applicable where isMobile equals TRUE. | 
| 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. | 
| isMobile | Whether the plot is to be displayed on a mobile device. Defaults to FALSE. If within an app with the mobileDetect function, then use isMobile = input$isMobile. | 
A ggplot object.
library(dplyr)#> #>#> #> #>#> #> #>plot_data <- iris %>% tibble::as_tibble() %>% mutate(Species = stringr::str_to_sentence(Species)) ggplot_box(plot_data, Species, Petal.Length, title = "Iris petal length by species", x_title = "Species", y_title = "Petal length (cm)")plot_data <- iris %>% group_by(Species) %>% summarise(boxplot_stats = list(rlang::set_names(boxplot.stats(Petal.Length)$stats, c('ymin','lower','middle','upper','ymax')))) %>% tidyr::unnest_wider(boxplot_stats) ggplot_box(plot_data, Species, Petal.Length, stat = "identity")