plot_bar: A function to create standardized CCMH count or percentage...

View source: R/plot_bar.R

plot_barR Documentation

A function to create standardized CCMH count or percentage bar plot's

Description

Creates standardized CCMH count or percentage bar plot's using ggplot2.

Usage

plot_bar(
  data,
  x.var,
  group.var = "",
  color = c("#666666", "#1B9E77", "#E6AB02", "#D95F02", "#6db6ff", "#b66dff", "#ff6db6",
    "#920000"),
  y.type = "count",
  x.order.manual = NULL,
  col.position = "dodge",
  save = FALSE,
  path = "plot.png",
  plot.width = 15.24,
  plot.height = 12.7,
  plot.units = "cm",
  plot.dpi = 320,
  plot.device = NULL,
  hide.x.items = NULL,
  hide.group.items = NULL,
  plot.title = NULL,
  x.title = NULL,
  y.title = NULL,
  plot.title.size = 20,
  axis.title.size = 16,
  axis.label.size = 14,
  text.font = "Avenir",
  y.label.type = "numeric",
  y.min = NULL,
  y.max = NULL,
  y.breaks = NULL,
  x.wrap = 15,
  x.remove = FALSE,
  caption = FALSE,
  caption.size = 12,
  legend.position = "none",
  legend.order.manual = NULL,
  legend.title = NULL,
  legend.title.size = 16,
  legend.label.size = 14,
  bar.width = NULL,
  coord.flip = FALSE,
  y.grid.major = FALSE,
  y.grid.major.color = "#d3d3d3",
  y.grid.major.size = 0.5,
  y.grid.major.linetype = 1,
  y.axis.line = TRUE,
  x.axis.line = TRUE,
  remove.axis.ticks = FALSE,
  plot.element1 = NULL,
  plot.element2 = NULL,
  plot.element3 = NULL,
  plot.element4 = NULL,
  plot.element5 = NULL,
  plot.element6 = NULL,
  plot.element7 = NULL,
  plot.element8 = NULL,
  plot.element9 = NULL
)

bar_plot(
  data,
  x.var,
  group.var = "",
  color = c("#666666", "#1B9E77", "#E6AB02", "#D95F02", "#6db6ff", "#b66dff", "#ff6db6",
    "#920000"),
  y.type = "count",
  x.order.manual = NULL,
  col.position = "dodge",
  save = FALSE,
  path = "plot.png",
  plot.width = 15.24,
  plot.height = 12.7,
  plot.units = "cm",
  plot.dpi = 320,
  plot.device = NULL,
  hide.x.items = NULL,
  hide.group.items = NULL,
  plot.title = NULL,
  x.title = NULL,
  y.title = NULL,
  plot.title.size = 20,
  axis.title.size = 16,
  axis.label.size = 14,
  text.font = "Avenir",
  y.label.type = "numeric",
  y.min = NULL,
  y.max = NULL,
  y.breaks = NULL,
  x.wrap = 15,
  x.remove = FALSE,
  caption = FALSE,
  caption.size = 12,
  legend.position = "none",
  legend.order.manual = NULL,
  legend.title = NULL,
  legend.title.size = 16,
  legend.label.size = 14,
  bar.width = NULL,
  coord.flip = FALSE,
  y.grid.major = FALSE,
  y.grid.major.color = "#d3d3d3",
  y.grid.major.size = 0.5,
  y.grid.major.linetype = 1,
  y.axis.line = TRUE,
  x.axis.line = TRUE,
  remove.axis.ticks = FALSE,
  plot.element1 = NULL,
  plot.element2 = NULL,
  plot.element3 = NULL,
  plot.element4 = NULL,
  plot.element5 = NULL,
  plot.element6 = NULL,
  plot.element7 = NULL,
  plot.element8 = NULL,
  plot.element9 = NULL
)

Arguments

data

A data file containing all variables that will be used in the plot

x.var

A quoted string to or unquoted characters indicate the variable that will be plotted on the x-axis. The variable class must be a character or factor.

group.var

A quoted string to indicate the variable that will group the bars on the x-axis and specify the color of the bars. The x-axis variable could used to specify colors of each individual bar. By default, "".

color

A hex code or list of hex codes that indicates the color of the grouped bars. See Note 1 for more details. By default, c('#E6AB02', '#1B9E77', '#666666', '#D95F02', '#6db6ff', '#b66dff', '#ff6db6', '#920000').

y.type

A quoted string to indicate if information on the y-axis concerns count or percentage of x-axis or grouped x-axis items. Options include "count"or "percent". By default, "count".

x.order.manual

A list of quoted strings to indicate the order of the x axis. By default, NULL.#' @param fill.axis.reorder A list of quoted strings to indicate the order of the fill variable. By default, "".

col.position

A quoted string to indicate the bar position adjustment based on geom_col. By default, dodge.

save

A logical statement indicates whether the plot should be saved as a file under a local folder. If false, the plot will be returned as an object. By default, FALSE.

path

A quoted string to indicate the file's pathway and name if save = TRUE. By default, "plot.png".

plot.width

A numeric value to indicate the plot's width. By default, 15.24.

plot.height

A numeric value to indicate the plot's height. By default, 12.7.

plot.units

A quoted string to indicate the plot's width and height size units. Options include ⁠in⁠, cm, mm, and px. By default, cm.

plot.dpi

A numeric value to indicate the plot's image resolution. By default, 320.

plot.device

A quoted string or function to indicate the plot's device. By default, NULL.

hide.x.items

A quoted string or list to indicate the x-axis variable items to be hidden in the plot. See Note 2. By default, NULL.

hide.group.items

A quoted string or list to indicate the group variable items to be hidden in the plot. See Note 2. By default, NULL.

plot.title

A quoted string to indicate the title of the plot. By default, NULL.

x.title

A quoted string to indicate the x axis title. By default, NULL.

y.title

A quoted string to indicate the y axis title. By default, NULL.

plot.title.size

A numeric value to indicate the plot title text size. By default, 20.

axis.title.size

A numeric value to indicate the axis title text size. By default, 16.

axis.label.size

A numeric value to indicate the axis labels text size. By default, 14.

text.font

A quoted string to indicate the plot's text font. By default, Avenir.

y.label.type

A quoted string or list to customize the y axis labels. Options include "numeric", "percent", "comma", or ⁠"sci⁠. By default, numeric.

y.min

A numeric value to indicate the minimum number presented on the y axis. By default, NULL.

y.max

A numeric value to indicate the maximum number presented on the y axis. By default, NULL.

y.breaks

Numeric values or a sequence that indicates breaks on the y axis. By default, NULL.

x.wrap

A numeric value to indicate the number of characters to wrap the x axis text. By default, 15.

x.remove

A logical statement to indicate whether y-axis information should be removed. By default, FALSE.

caption

A logical statement to indicate whether the CCMH caption should be included in the plot. By default, FALSE.

caption.size

A numeric value to indicate the caption text size. By default, 12.

legend.position

A quoted string or numeric vector to indicate the location of the legend. Options include "left","top", "right", "bottom", "none", or numeric vector c(x,y). By default, "none".

legend.order.manual

A list of quoted strings to indicate the order of the legend. By default, NULL.

legend.title

A quoted string to indicate the legend title. By default, NULL.

legend.title.size

A numeric value to indicate the legend title text size. By default, 16.

legend.label.size

A numeric value to indicate the legend label text size. By default, 14.

bar.width

A numeric value to indicate the bars width. By default, NULL.

coord.flip

A logical statement to indicate if the plot's x and y axis should be flipped. By default, FALSE.

y.grid.major

A logical statement to indicate if the y axis major grid lines should be added to the plot. By default, FALSE,

y.grid.major.color

A hex code that indicates the color of the y axis major grid lines. By default, "#d3d3d3" or a shade of light grey.

y.grid.major.size

A numeric value to indicate the thickness of the y axis major grid lines. By default, 0.5.

y.grid.major.linetype

A numeric value to indicate the line type of the y axis major grid. By default, 1.

y.axis.line

A logical statement to indicate if the y axis line should be included. By default, TRUE.

x.axis.line

A logical statement to indicate if the x axis line should be included. By default, TRUE.

remove.axis.ticks

A logical statement to indicate if the axis ticks should be excluded. By default, FALSE.

plot.element1

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element2

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element3

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element4

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element5

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element6

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element7

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element8

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

plot.element9

A ggplot plot function and arguments needed for the plot and specified as an object. By default, NULL.

Value

A bar plot returned as a object or saved under a local file.

Note

Note 1. The argument color specifies the color of items within the grouped variable. For example, the group variable items could be the name of automobile companies (i.e., Ford, Dodge, BMV). You can specify color randomly for each company using this list: c("#21501b", "#c51329", "#074e67"). Or you can specify color directly to each specific company using this list: c("Ford" = "#21501b", "Dodge" = "#c51329", "BMV" = "#074e67"). Default colors are color blind safe.

Note 2. The hide.x.items and hide.group.items function hides bars in the plot while keeping the hidden bars position. This argument was intended to be used when preparing plots for presentation, where the presenter wants to present data in a specified order instead of displaying all the data at once.

The plot.element arguments specify additional ggplot2 graphical element(s) needed to complete a specific task, but are not specified as an argument in the bar_plot function. For example, the axis label text will always be black unless specified in one of the plot.element arguments. To change the axis label text color in one of the plot.element arguments, you would first create an object to represent graphing element (e.g., green.axis.text <- ggplot2::theme(axis.text = ggplot2::element_text(color = "green"))). Then the object would be added to one of the plot.element arguments (e.g., plot.element01 = green.axis.text).


CCMH-PSU/CCMHr documentation built on Jan. 31, 2024, 1:08 a.m.