View source: R/create_bar_asis.R
| create_bar_asis | R Documentation |
This function creates a bar chart directly from the aggregated / summarised
data. Unlike create_bar() which performs a person-level aggregation, there
is no calculation for create_bar_asis() and the values are rendered as they
are passed into the function.
create_bar_asis(
data,
group_var,
bar_var,
title = NULL,
subtitle = NULL,
caption = NULL,
ylab = group_var,
xlab = bar_var,
percent = FALSE,
bar_colour = "default",
rounding = 1
)
data |
Plotting data as a data frame. |
group_var |
String containing name of variable for the group. |
bar_var |
String containing name of variable representing the value of the bars. |
title |
Title of the plot. |
subtitle |
Subtitle of the plot. |
caption |
Caption of the plot. |
ylab |
Y-axis label for the plot (group axis) |
xlab |
X-axis label of the plot (bar axis). |
percent |
Logical value to determine whether to show labels as
percentage signs. Defaults to |
bar_colour |
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 |
rounding |
Numeric value to specify number of digits to show in data labels |
'ggplot' object. A horizontal bar plot.
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(),
create_boxplot(),
create_bubble(),
create_dist(),
create_fizz(),
create_inc(),
create_line(),
create_line_asis(),
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(),
meetingtype_dist_ca(),
meetingtype_dist_mt(),
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(),
create_boxplot(),
create_bubble(),
create_density(),
create_dist(),
create_fizz(),
create_hist(),
create_inc(),
create_line(),
create_line_asis(),
create_period_scatter(),
create_rank(),
create_sankey(),
create_scatter(),
create_stacked(),
create_tracking(),
create_trend(),
period_change()
# Creating a custom bar plot without mean aggregation
library(dplyr)
sq_data %>%
group_by(Organization) %>%
summarise(across(.cols = Meeting_hours,
.fns = ~sum(., na.rm = TRUE))) %>%
create_bar_asis(group_var = "Organization",
bar_var = "Meeting_hours",
title = "Total Meeting Hours over period",
subtitle = "By Organization",
caption = extract_date_range(sq_data, return = "text"),
bar_colour = "darkblue",
rounding = 0)
library(dplyr)
# Summarise Non-person-average median `Emails_sent`
med_df <-
sq_data %>%
group_by(Organization) %>%
summarise(Emails_sent_median = median(Emails_sent))
med_df %>%
create_bar_asis(
group_var = "Organization",
bar_var = "Emails_sent_median",
title = "Median Emails Sent by Organization",
subtitle = "Person Averaging Not Applied",
bar_colour = "darkblue",
caption = extract_date_range(sq_data, return = "text")
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.