Learn R Programming

simplevis (version 1.5.0)

ggplot_hbar_facet: Horizontal bar ggplot that is facetted.

Description

Horizontal bar ggplot that is facetted, but not coloured.

Usage

ggplot_hbar_facet(data, x_var, y_var, facet_var, hover_var = NULL,
  x_scale_labels = waiver(), x_scale_zero = TRUE,
  x_scale_zero_line = TRUE, x_scale_trans = "identity",
  y_scale_rev = FALSE, y_scale_labels = waiver(),
  facet_scales = "fixed", facet_nrow = NULL, pal = NULL,
  width = 0.75, title = "[Title]", na_grey = FALSE,
  na_grey_hover_value = "NA", subtitle = NULL, x_title = "[X title]",
  y_title = "[Y title]", caption = 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_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.

facet_var

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

hover_var

Unquoted variable to be an additional hover variable for when used inside plotly::ggplotly(). Defaults to NULL.

x_scale_labels

Argument to adjust the format of the x scale labels.

x_scale_zero

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

x_scale_zero_line

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

x_scale_trans

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

y_scale_rev

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

y_scale_labels

Argument to adjust the format of the y scale labels.

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.

width

Width of bars. Defaults to 0.75.

title

Title string. Defaults to [Title].

na_grey

TRUE or FALSE of whether to provide wide grey bars for NA y_var values. Only works where facet_scales = "fixed" or "free_y". Defaults to FALSE.

na_grey_hover_value

Value to provide to users in the hover for any NA grey bars. Defaults to "NA".

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

caption

Caption title string. Defaults to NULL.

font_family

Font family to use. Defaults NULL.

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_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. In a shinyapp, isMobile should be specified as input$isMobile.

Value

A ggplot object.

Examples

Run this code
# NOT RUN {
plot_data <- ggplot2::diamonds %>%
  dplyr::mutate(cut = stringr::str_to_sentence(cut)) %>%
  dplyr::group_by(cut, clarity) %>%
  dplyr::summarise(average_price = mean(price)) %>%
  dplyr::mutate(average_price_thousands = round(average_price / 1000, 1)) 

plot <- ggplot_hbar_facet(data = plot_data, x_var = average_price_thousands,
                          y_var = cut, facet_var = clarity,
                         title = "Average diamond price by cut and clarity", 
                         x_title = "Average price ($US thousands)", 
                         y_title = "Cut")

plot

plotly::ggplotly(plot, tooltip = "text")
# }

Run the code above in your browser using DataLab