Horizontal bar ggplot that is coloured, but not facetted.
ggplot_hbar_col(data, x_var, y_var, col_var, tip_var = NULL,
x_labels = waiver(), x_zero = TRUE, x_zero_line = NULL,
x_trans = "identity", x_pretty_n = 6, x_expand = NULL,
x_balance = FALSE, x_na_bar = FALSE, y_rev = FALSE,
y_labels = waiver(), y_expand = NULL, col_rev = FALSE,
position = "stack", pal = NULL, pal_rev = FALSE, legend_ncol = 3,
width = 0.75, title = "[Title]", subtitle = NULL,
x_title = "[X title]", y_title = "[Y title]", col_title = "",
caption = NULL, legend_labels = NULL, font_family = "Helvetica",
font_size_title = NULL, font_size_body = NULL, title_wrap = 70,
subtitle_wrap = 80, x_title_wrap = 50, y_title_wrap = 50,
wrap_col_title = 25, caption_wrap = 80, isMobile = FALSE)
A tibble or dataframe. Required input.
Unquoted numeric variable to be on the x axis. Required input.
Unquoted categorical variable to be on the y axis. Required input.
Unquoted categorical variable to colour the bars. Required input.
Unquoted variable to be used as a customised tooltip in combination with plotly::ggplotly(plot). Defaults to NULL.
Argument to adjust the format of the x scale labels.
TRUE or FALSE whether the minimum of the x scale is zero. Defaults to TRUE.
TRUE or FALSE whether to add a zero reference line to the x axis. Defaults to NULL, which is TRUE if there are positive and negative values in x_var. Otherwise it is FALSE.
A string specifying a transformation for the x axis scale. Defaults to "identity".
The desired number of intervals on the x axis, as calculated by the pretty algorithm. Defaults to 6. Not applicable where isMobile equals TRUE.
A vector of range expansion constants used to add some padding on the x scale.
Add balance to the x axis so that zero is in the centre of the x scale.
TRUE or FALSE of whether to make NA x_var values infinity with a light grey colour to emphasise them. Defaults to FALSE.
TRUE or FALSE of whether bar order from top to bottom is reversed from default. Defaults to FALSE.
Argument to adjust the format of the y scale labels.
A vector of range expansion constants used to add some padding on the y scale.
TRUE or FALSE of whether bar fill order from left to right is reversed from default. Defaults to FALSE.
Whether bars are positioned by "stack" or "dodge". Defaults to "stack".
Character vector of hex codes. Defaults to NULL, which selects a default palette.
TRUE or FALSE of whether to reverse the pal.
The number of columns in the legend.
Width of bars. Defaults to 0.75.
Title string. Defaults to [Title].
Subtitle string. Defaults to [Subtitle].
X axis title string. Defaults to [X title].
Y axis title string. Defaults to [Y title].
Colour title string for the legend. Defaults to NULL.
Caption title string. Defaults to NULL.
A vector of manual legend label values. Defaults to NULL, which results in automatic labels.
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.
Number of characters to wrap the title to. Defaults to 70. Not applicable where isMobile equals TRUE.
Number of characters to wrap the subtitle to. Defaults to 80. Not applicable where isMobile equals TRUE.
Number of characters to wrap the x title to. Defaults to 50. Not applicable where isMobile equals TRUE.
Number of characters to wrap the y title to. Defaults to 50. Not applicable where isMobile equals TRUE.
Number of characters to wrap the colour title to. Defaults to 25. Not applicable where isMobile equals TRUE.
Number of characters to wrap the caption to. Defaults to 80. Not applicable where isMobile equals TRUE.
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.
# NOT RUN {
library(dplyr)
plot_data <- ggplot2::diamonds %>%
mutate(cut = stringr::str_to_sentence(cut)) %>%
group_by(cut, clarity) %>%
summarise(average_price = mean(price)) %>%
mutate(average_price = round(average_price / 1000, 1)) %>%
ungroup()
ggplot_hbar_col(plot_data, average_price, cut, clarity,
title = "Average diamond price by cut and clarity",
x_title = "Average price ($US thousands)",
y_title = "Cut")
# }
Run the code above in your browser using DataLab