Vertical bar ggplot that is coloured, but not facetted.
gg_bar_col(
data,
x_var,
y_var,
col_var,
text_var = NULL,
position = NULL,
pal = NULL,
pal_na = "#7F7F7FFF",
pal_rev = FALSE,
width = 0.75,
alpha = 1,
size_line = 0.5,
title = NULL,
title_wrap = 100,
subtitle = NULL,
subtitle_wrap = 100,
x_balance = FALSE,
x_expand = NULL,
x_labels = NULL,
x_na = TRUE,
x_pretty_n = 6,
x_rev = FALSE,
x_title = NULL,
x_title_wrap = 50,
x_zero = FALSE,
x_zero_line = NULL,
y_balance = FALSE,
y_expand = NULL,
y_gridlines_minor = FALSE,
y_labels = scales::comma,
y_na = TRUE,
y_pretty_n = 5,
y_title = NULL,
y_title_wrap = 50,
y_trans = "identity",
y_zero = TRUE,
y_zero_line = NULL,
col_cuts = NULL,
col_labels = NULL,
col_method = NULL,
col_na = TRUE,
col_pretty_n = 4,
col_rev = FALSE,
col_right_closed = TRUE,
col_title = NULL,
col_title_wrap = 25,
caption = NULL,
caption_wrap = 80,
font_family = "",
font_size_title = NULL,
font_size_body = NULL,
mobile = FALSE
)
A tibble or dataframe. Required input.
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.
Unquoted numeric variable to be on the y scale. Required input.
Unquoted categorical or numeric variable to colour the bars. Required input.
Unquoted variable to be used as a customised tooltip in combination with plotly::ggplotly(plot, tooltip = "text"). Defaults to NULL.
Whether bars are positioned by "dodge" or "stack". Defaults to "dodge".
Character vector of hex codes.
The hex code or name of the NA colour to be used.
Reverses the palette. Defaults to FALSE.
Width of bars. Defaults to 0.75.
The alpha of the fill. Defaults to 1.
The size of the outlines of bars.
Title string. Defaults to NULL.
Number of characters to wrap the title to. Defaults to 100.
Subtitle string.
Number of characters to wrap the subtitle to. Defaults to 100.
For a numeric x variable, add balance to the x scale so that zero is in the centre. Defaults to FALSE.
A vector of range expansion constants used to add padding to the x scale, as per the ggplot2 expand argument in ggplot2 scales functions.
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.
TRUE or FALSE of whether to include x_var NA values. Defaults to TRUE.
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.
For a categorical variable, TRUE or FALSE of whether the x variable variable is reversed. Defaults to FALSE.
X scale title string. Defaults to NULL, which converts to sentence case with spaces. Use "" if you would like no title.
Number of characters to wrap the x title to. Defaults to 50.
For a numeric x variable, TRUE or FALSE of whether the minimum of the x scale is zero. Defaults to FALSE.
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.
For a numeric y variable, add balance to the y scale so that zero is in the centre of the y scale.
A vector of range expansion constants used to add padding to the y scale, as per the ggplot2 expand argument in ggplot2 scales functions.
TRUE or FALSE of whether to add minor gridlines to the y scale. Defaults to FALSE.
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.
TRUE or FALSE of whether to include y_var NA values. Defaults to TRUE.
For a numeric or date y variable, the desired number of intervals on the y scale, as calculated by the pretty algorithm. Defaults to 5.
y scale title string. Defaults to NULL, which converts to sentence case with spaces. Use "" if you would like no title.
Number of characters to wrap the y title to. Defaults to 50.
For a numeric y variable, a string specifying a transformation for the y scale, such as "log10" or "sqrt". Defaults to "identity".
For a numeric y variable, TRUE or FALSE of whether the minimum of the y scale is zero. Defaults to TRUE.
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.
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.
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.
The method of colouring features, either "bin", "quantile" or "category." If numeric, defaults to "bin".
TRUE or FALSE of whether to include col_var NA values. Defaults to TRUE.
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.
TRUE or FALSE of whether the colour scale is reversed. Defaults to FALSE. Defaults to FALSE.
For a numeric colour variable, TRUE or FALSE of whether bins or quantiles are to be cut right-closed. Defaults to TRUE.
Colour title string for the legend. Defaults to NULL, which converts to sentence case with spaces. Use "" if you would like no title.
Number of characters to wrap the colour title to. Defaults to 25. Not applicable where mobile equals TRUE.
Caption title string.
Number of characters to wrap the caption to. Defaults to 80.
Font family to use. Defaults to "".
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 a shiny app with the mobileDetect function, then use mobile = input$isMobile.
A ggplot object.
# NOT RUN {
library(dplyr)
library(simplevis)
library(palmerpenguins)
plot_data <- penguins %>%
group_by(species, sex) %>%
summarise(body_mass_g = mean(body_mass_g, na.rm = TRUE))
gg_bar_col(plot_data,
x_var = species,
y_var = body_mass_g,
col_var = sex)
gg_bar_col(plot_data,
x_var = species,
y_var = body_mass_g,
col_var = sex,
position = "stack")
# }
Run the code above in your browser using DataLab