Vertical bar ggplot that is coloured and facetted.
ggplot_vbar_col_facet(data, x_var, y_var, col_var, facet_var,
text_var = NULL, position = "stack", pal = NULL, pal_rev = FALSE,
width = 0.75, alpha = 1, size_line = 0.5, title = "[Title]",
title_wrap = 70, subtitle = NULL, subtitle_wrap = 80,
x_labels = waiver(), x_pretty_n = 5, x_expand = NULL,
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, col_labels = NULL,
col_legend_ncol = NULL, col_legend_nrow = NULL, col_na = TRUE,
col_rev = FALSE, col_title = "", col_title_wrap = 25,
facet_ncol = NULL, facet_nrow = NULL, facet_scales = "fixed",
caption = NULL, caption_wrap = 80, font_family = "Helvetica",
font_size_title = NULL, font_size_body = NULL)
A tibble or dataframe. Required input.
Unquoted numeric, date or categorical variable to be on the x axis. Required input.
Unquoted numeric variable to be on the y axis. Required input.
Unquoted categorical variable to colour the bars. Required input.
Unquoted categorical variable to facet the data by. 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 "stack" or "dodge". Defaults to "stack".
Character vector of hex codes. Defaults to NULL, which selects a default palette.
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 [Title].
Number of characters to wrap the title to. Defaults to 70.
Subtitle string. Defaults to [Subtitle].
Number of characters to wrap the subtitle to. Defaults to 80.
Adjust the x scale labels through a function or vector.
The desired number of intervals on the x axis, as calculated by the pretty algorithm. Defaults to 5.
A vector of range expansion constants used to add some padding on the x scale.
X axis title string. Defaults to [X title].
Number of characters to wrap the x title to. Defaults to 50.
Add balance to the y axis so that zero is in the centre of the y scale. Only applicable where facet_scales equals "fixed" or "free_x".
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.
A string specifying a transformation for the y axis scale, such as "log10" or "sqrt". Defaults to "identity".
TRUE or FALSE of whether the minimum of the y scale is zero. Defaults to TRUE.
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.
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.
The number of columns of facetted plots.
The number of rows of facetted plots.
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 title string. Defaults to NULL.
Number of characters to wrap the caption to. Defaults to 80.
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.
A ggplot object.
# NOT RUN {
library(dplyr)
plot_data <- storms %>%
mutate(status = stringr::str_to_sentence(status)) %>%
group_by(year, status, name) %>%
summarise(average_wind = round(mean(wind), 2)) %>%
filter(year %in% 1975:1980) %>%
filter(!(status == "Tropical storm" & year == 1980)) %>%
filter(name %in% c("Karl", "Juliet", "Jeanne", "Ivan", "Hermine",
"Henri", "Gloria", "Georges", "Frederic"))
ggplot_vbar_col_facet(plot_data, year, average_wind, name, status)
# }
Run the code above in your browser using DataLab