Skip to contents

Creates either a single bar plot, of a stacked bar using selected metrics (where the typical use case is to create different definitions of collaboration hours). Returns a plot by default. Additional options available to return a summary table.

Usage

create_stacked(
  data,
  hrvar = "Organization",
  metrics = c("Meeting_hours", "Email_hours"),
  mingroup = 5,
  return = "plot",
  stack_colours = c("#1d627e", "#34b1e2", "#b4d5dd", "#adc0cb"),
  percent = FALSE,
  plot_title = "Collaboration Hours",
  plot_subtitle = paste("Average by", tolower(camel_clean(hrvar))),
  legend_lab = NULL,
  rank = "descending",
  xlim = NULL,
  text_just = 0.5,
  text_colour = "#FFFFFF"
)

Arguments

data

A Standard Person Query dataset in the form of a data frame.

hrvar

String containing the name of the HR Variable by which to split metrics. Defaults to "Organization". To run the analysis on the total instead of splitting by an HR attribute, supply NULL (without quotes).

metrics

A character vector to specify variables to be used in calculating the "Total" value, e.g. c("Meeting_hours", "Email_hours"). The order of the variable names supplied determine the order in which they appear on the stacked plot.

mingroup

Numeric value setting the privacy threshold / minimum group size. Defaults to 5.

return

Character vector specifying what to return, defaults to "plot". Valid inputs are "plot" and "table".

stack_colours

A character vector to specify the colour codes for the stacked bar charts.

percent

Logical value to determine whether to show labels as percentage signs. Defaults to FALSE.

plot_title

String. Option to override plot title.

plot_subtitle

String. Option to override plot subtitle.

legend_lab

String. Option to override legend title/label. Defaults to NULL, where the metric name will be populated instead.

rank

String specifying how to rank the bars. Valid inputs are:

  • "descending" - ranked highest to lowest from top to bottom (default).

  • "ascending" - ranked lowest to highest from top to bottom.

  • NULL - uses the original levels of the HR attribute.

xlim

An option to set max value in x axis.

text_just

[Experimental] A numeric value controlling for the horizontal position of the text labels. Defaults to 0.5.

text_colour

[Experimental] String to specify colour to use for the text labels. Defaults to "#FFFFFF".

Value

Returns a 'ggplot' object by default, where 'plot' is passed in return. When 'table' is passed, a summary table is returned as a data frame.

Examples

pq_data %>%
  create_stacked(hrvar = "LevelDesignation",
                 metrics = c("Meeting_hours", "Email_hours"),
                 return = "plot")


pq_data %>%
  create_stacked(hrvar = "FunctionType",
                 metrics = c("Meeting_hours",
                             "Email_hours",
                             "Call_hours",
                             "Chat_hours"),
                 return = "plot",
                 rank = "ascending")


pq_data %>%
  create_stacked(hrvar = "FunctionType",
                 metrics = c("Meeting_hours",
                             "Email_hours",
                             "Call_hours",
                             "Chat_hours"),
                 return = "table")
#> # A tibble: 8 × 7
#>   group     Meeting_hours Email_hours Call_hours Chat_hours Total Employee_Count
#>   <chr>             <dbl>       <dbl>      <dbl>      <dbl> <dbl>          <int>
#> 1 Analytics          17.7        1.09     0       0          18.8             12
#> 2 Customer…          14.4        1.26     0       0          15.7             12
#> 3 Engineer…          18.7        1.20     0       0.0000931  19.9             20
#> 4 G_and_A            16.8        1.23     0       0          18.1              6
#> 5 IT                 17.0        1.06     0       0          18.0             11
#> 6 Marketing          28.2        1.35     0.0296  0.00884    29.5             12
#> 7 R_and_D            11.7        1.05     0       0          12.7             16
#> 8 Sales              20.4        1.54     0       0          22.0             11