Learn R Programming

simplevis (version 1.5.0)

ggplot_vbar_col_facet: Vertical bar ggplot that is coloured and facetted.

Description

Vertical bar ggplot that is coloured and facetted.

Usage

ggplot_vbar_col_facet(data, x_var, y_var, col_var, facet_var,
  hover_var = NULL, x_scale_labels = waiver(), y_scale_zero = TRUE,
  y_scale_zero_line = TRUE, y_scale_trans = "identity",
  y_scale_labels = waiver(), col_scale_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, date or categorical variable to be on the x axis. Required input.

y_var

Unquoted numeric 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.

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.

y_scale_zero

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

y_scale_zero_line

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

y_scale_trans

A string specifying a transformation for the y axis scale, such as "log10" or "sqrt". Defaults to "identity".

y_scale_labels

Argument to adjust the format of the y scale labels.

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

Value

A ggplot object.

Examples

Run this code
# NOT RUN {
plot_data <- dplyr::storms %>%
  dplyr::mutate(status = stringr::str_to_sentence(status)) %>%
  dplyr::group_by(year, status, name) %>%
  dplyr::summarise(average_wind = round(mean(wind), 2)) %>%
  dplyr::filter(year %in% 1975:1980) %>%
  dplyr::filter(!(status == "Tropical storm" & year == 1980)) %>%
  dplyr::filter(name %in% c("Karl", "Juliet", "Jeanne", "Ivan", "Hermine",
  "Henri", "Gloria", "Georges", "Frederic"))

  plot <- ggplot_vbar_col_facet(data = plot_data, x_var = year, y_var = average_wind,
                                col_var = name, facet_var = status)

  plot

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

Run the code above in your browser using DataLab