Learn R Programming

simplevis (version 1.5.0)

ggplot_vbar_col: Vertical bar ggplot that is coloured.

Description

Vertical bar ggplot that is coloured, but not facetted.

Usage

ggplot_vbar_col(data, x_var, y_var, col_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", 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.

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

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) %>%
  dplyr::summarise(average_wind = round(mean(wind), 2)) 

plot <- ggplot_vbar_col(data = plot_data, x_var = year, y_var = average_wind, col_var = status)

plot

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

Run the code above in your browser using DataLab