Learn R Programming

simplevis (version 2.0.0)

ggplot_hbar_col_facet: Horizontal bar ggplot that is coloured and facetted.

Description

Horizontal bar ggplot that is coloured and facetted.

Usage

ggplot_hbar_col_facet(data, x_var, y_var, col_var, facet_var,
  tip_var = NULL, x_labels = waiver(), x_zero = TRUE,
  x_zero_line = TRUE, x_trans = "identity", x_pretty_n = 5,
  y_rev = FALSE, y_labels = waiver(), col_rev = FALSE,
  col_drop = FALSE, position = "stack", facet_scales = "fixed",
  facet_nrow = NULL, pal = NULL, 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, wrap_title = 70,
  wrap_subtitle = 80, wrap_x_title = 50, wrap_y_title = 50,
  wrap_col_title = 25, wrap_caption = 80, isMobile = FALSE)

Arguments

data

A tibble or dataframe. Required input.

x_var

Unquoted numeric variable to be on the x axis. Required input.

y_var

Unquoted categorical variable to be on the y axis. Required input.

col_var

Unquoted categorical variable to colour the bars. Required input.

facet_var

Unquoted categorical variable to facet the data by. Required input.

tip_var

Unquoted variable to be used as a customised tooltip in combination with plotly::ggplotly(plot). Defaults to NULL.

x_labels

Argument to adjust the format of the x scale labels.

x_zero

TRUE or FALSE whether the minimum of the x scale is zero. Defaults to TRUE.

x_zero_line

TRUE or FALSE whether to add a zero line in for when values are above and below zero. Defaults to TRUE.

x_trans

A string specifying a transformation for the x scale. Defaults to "identity".

x_pretty_n

The desired number of intervals on the x axis, as calculated by the pretty algorithm. Defaults to 5. Not applicable where isMobile equals TRUE.

y_rev

TRUE or FALSE of whether bar order from top to bottom is reversed from default. Defaults to FALSE.

y_labels

Argument to adjust the format of the y scale labels.

col_rev

TRUE or FALSE of whether bar fill order from left to right is reversed from default. Defaults to FALSE.

col_drop

TRUE or FALSE of whether to drop unused levels from the legend. Defaults to FALSE.

position

Whether bars are positioned by "stack" or "dodge". Defaults to "stack".

facet_scales

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".

facet_nrow

The number of rows of facetted plots. Defaults to NULL, which generally chooses 2 rows. Not applicable to where isMobile is TRUE.

pal

Character vector of hex codes. Defaults to NULL, which selects the Stats NZ palette.

legend_ncol

The number of columns in the legend.

width

Width of bars. Defaults to 0.75.

title

Title string. Defaults to [Title].

subtitle

Subtitle string. Defaults to [Subtitle].

x_title

X axis title string. Defaults to [X title].

y_title

Y axis title string. Defaults to [Y title].

col_title

Colour title string for the legend. Defaults to NULL.

caption

Caption title string. Defaults to NULL.

legend_labels

A vector of manual legend label values. Defaults to NULL, which results in automatic labels.

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.

wrap_title

Number of characters to wrap the title to. Defaults to 70. Not applicable where isMobile equals TRUE.

wrap_subtitle

Number of characters to wrap the subtitle to. Defaults to 80. Not applicable where isMobile equals TRUE.

wrap_x_title

Number of characters to wrap the x title to. Defaults to 50. Not applicable where isMobile equals TRUE.

wrap_y_title

Number of characters to wrap the y title to. Defaults to 50. Not applicable where isMobile equals TRUE.

wrap_col_title

Number of characters to wrap the colour title to. Defaults to 25. Not applicable where isMobile equals TRUE.

wrap_caption

Number of characters to wrap the caption to. Defaults to 80. Not applicable where isMobile equals TRUE.

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.

Value

A ggplot object.

Examples

Run this code
# NOT RUN {
library(dplyr)

plot_data <- ggplot2::diamonds %>%
  mutate(cut = stringr::str_to_sentence(cut)) %>%
  group_by(cut, clarity, color) %>%
  summarise(average_price = mean(price)) %>%
  mutate(average_price_thousands = round(average_price / 1000, 1))

plot <- ggplot_hbar_col_facet(data = plot_data, x_var = average_price_thousands,
                              y_var = color, col_var = clarity, facet_var = cut,
                              title = "Average diamond price by colour, clarity and cut", 
                              x_title = "Average price ($US thousands)", 
                              y_title = "Colour")

plot

plotly::ggplotly(plot)
# }

Run the code above in your browser using DataLab