Provides an overview analysis of a selected metric by calculating a mean per metric. Returns a bar plot showing the average of a selected metric by default. Additional options available to return a summary table.

  hrvar = "Organization",
  mingroup = 5,
  return = "plot",
  bar_colour = "default",
  na.rm = FALSE,
  percent = FALSE,
  plot_title = us_to_space(metric),
  plot_subtitle = paste("Average by", tolower(camel_clean(hrvar))),
  legend_lab = NULL,
  rank = "descending",
  xlim = NULL,
  text_just = 0.5,
  text_colour = "#FFFFFF"



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


Character string containing the name of the metric, e.g. "Collaboration_hours"


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


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


String specifying what to return. This must be one of the following strings:

  • "plot"

  • "table"

See Value for more information.


String to specify colour to use for bars. In-built accepted values include "default" (default), "alert" (red), and "darkblue". Otherwise, hex codes are also accepted. You can also supply RGB values via rgb2hex().


A logical value indicating whether NA should be stripped before the computation proceeds. Defaults to FALSE.


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


An option to override plot title.


An option to override plot subtitle.


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


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.


An option to set max value in x axis.


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


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


A different output is returned depending on the value passed to the return argument:

  • "plot": 'ggplot' object. A bar plot for the metric.

  • "table": data frame. A summary table for the metric.

See also

Other Visualization: afterhours_dist(), afterhours_fizz(), afterhours_line(), afterhours_rank(), afterhours_summary(), afterhours_trend(), collaboration_area(), collaboration_dist(), collaboration_fizz(), collaboration_line(), collaboration_rank(), collaboration_sum(), collaboration_trend(), create_bar_asis(), create_boxplot(), create_bubble(), create_dist(), create_fizz(), create_inc(), create_line_asis(), create_line(), create_period_scatter(), create_rank(), create_sankey(), create_scatter(), create_stacked(), create_tracking(), create_trend(), email_dist(), email_fizz(), email_line(), email_rank(), email_summary(), email_trend(), external_dist(), external_fizz(), external_line(), external_network_plot(), external_rank(), external_sum(), hr_trend(), hrvar_count(), hrvar_trend(), internal_network_plot(), keymetrics_scan(), meeting_dist(), meeting_fizz(), meeting_line(), meeting_quality(), meeting_rank(), meeting_summary(), meeting_trend(), meetingtype_dist_ca(), meetingtype_dist_mt(), meetingtype_dist(), meetingtype_summary(), mgrcoatt_dist(), mgrrel_matrix(), one2one_dist(), one2one_fizz(), one2one_freq(), one2one_line(), one2one_rank(), one2one_sum(), one2one_trend(), period_change(), workloads_dist(), workloads_fizz(), workloads_line(), workloads_rank(), workloads_summary(), workloads_trend(), workpatterns_area(), workpatterns_rank()

Other Flexible: create_bar_asis(), create_boxplot(), create_bubble(), create_density(), create_dist(), create_fizz(), create_hist(), create_inc(), create_line_asis(), create_line(), create_period_scatter(), create_rank(), create_sankey(), create_scatter(), create_stacked(), create_tracking(), create_trend(), period_change()


# Return a ggplot bar chart
create_bar(sq_data, metric = "Collaboration_hours", hrvar = "LevelDesignation")

# Change bar colour
           metric = "After_hours_collaboration_hours",
           bar_colour = "alert")

# Custom data label positions and formatting
sq_data %>%
    metric = "Meetings",
    text_just = 1.1,
    text_colour = "black",
    xlim = 20)

# Return a summary table
           metric = "Collaboration_hours",
           hrvar = "LevelDesignation",
           return = "table")
#> # A tibble: 6 × 3
#>   group     Collaboration_hours     n
#>   <chr>                   <dbl> <int>
#> 1 Director                 18.9    68
#> 2 Executive                19.0     6
#> 3 Junior IC                19.6   105
#> 4 Manager                  21.5   333
#> 5 Senior IC                20.1   103
#> 6 Support                  18.8   419