ggplot boxplot that is coloured
ggplot_boxplot_col(data, x_var, y_var = NULL, col_var,
group_var = NULL, stat = "boxplot", pal = NULL, pal_rev = FALSE,
width = 0.5, alpha = 1, size_line = 0.5, size_point = 1,
title = "[Title]", title_wrap = 70, subtitle = NULL,
subtitle_wrap = 80, x_expand = NULL, x_labels = waiver(),
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 = FALSE, y_zero_line = NULL, col_labels = NULL,
col_legend_ncol = NULL, col_legend_nrow = NULL, col_na = TRUE,
col_rev = FALSE, col_title = "", col_title_wrap = 25,
caption = NULL, caption_wrap = 80, font_family = "Helvetica",
font_size_title = NULL, font_size_body = NULL, mobile = FALSE)
A tibble or dataframe. Required input.
Unquoted variable to be on the x axis. Required input.
Unquoted numeric variable to be on the y axis. Defaults to NULL. Required if stat equals "boxplot".
Unquoted categorical variable to colour the fill of the boxes. Required input.
Unquoted variable to be the grouping variable Defaults to NULL. Only applicable if stat equals "boxplot".
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.
Character vector of hex codes. Defaults to viridis. Use the pals package to find a suitable palette.
Reverses the palette. Defaults to FALSE.
Width of the box. Defaults to 0.5.
The alpha of the fill. Defaults to 1.
The size of the outlines of boxplots. Defaults to 0.5.
The size of the outliers. Defaults to 1.
Title string. Defaults to "[Title]".
Number of characters to wrap the title to. Defaults to 70. Not applicable where mobile equals TRUE.
Subtitle string. Defaults to "[Subtitle]".
Number of characters to wrap the subtitle to. Defaults to 80. Not applicable where mobile equals TRUE.
A vector of range expansion constants used to add some padding on the x scale.
Adjust the x scale labels through a function or vector.
X axis title string. Defaults to "[X title]".
Number of characters to wrap the x title to. Defaults to 50. Not applicable where mobile equals TRUE.
Add balance to the y axis so that zero is in the centre of the y scale.
A vector of range expansion constants used to add some padding on the y scale.
Adjust the y scale labels through a function or vector.
The desired number of intervals on the y axis, as calculated by the pretty algorithm. Defaults to 5.
Y axis title string. Defaults to "[Y title]".
Number of characters to wrap the y title to. Defaults to 50. Not applicable where mobile equals TRUE.
TRUEransformation of y-axis scale (e.g. "signed_sqrt"). Defaults to "identity", which has no transformation.
TRUE or FALSE whether the minimum of the y scale is zero. Defaults to FALSE.
TRUE or FALSE whether to add a zero reference line to the y axis. TRUE if there are positive and negative values in y_var. Otherwise defaults to FALSE.
Adjust the colour scale labels through a vector.
The number of columns in the legend. Defaults to 1.
The number of rows in the legend.
TRUE or FALSE of whether to show NA values of the colour variable. Defaults to TRUE.
TRUE or FALSE of whether the colour scale is reversed. Defaults to FALSE. Defaults to FALSE.
Colour title string for the legend. Defaults to NULL.
Number of characters to wrap the colour title to. Defaults to 25. Not applicable where mobile equals TRUE.
Caption title string. Defaults to NULL.
Number of characters to wrap the caption to. Defaults to 80. Not applicable where mobile equals TRUE.
Font family to use. Defaults to "Helvetica".
Font size for the title text. Defaults to 11.
Font size for all text other than the title. Defaults to 10.
Whether the plot is to be displayed on a mobile device. Defaults to FALSE. If within an app with the mobileDetect function, then use mobile = input$isMobile.
A ggplot object.
# NOT RUN {
library(dplyr)
plot_data <- ggplot2::diamonds %>%
mutate(cut = stringr::str_to_sentence(cut))
plot <- ggplot_boxplot_col(plot_data, cut, price, clarity,
title = "Average diamond price by cut and clarity",
x_title = "Average price ($US thousands)",
y_title = "Cut")
plot
plotly::ggplotly(plot) %>%
plotly::layout(boxmode = "group") %>%
plotly_camera()
# }
Run the code above in your browser using DataLab