| gt_plt_bar_stack {gtExtras} | R Documentation | 
Add a percent stacked barchart in place of existing data.
Description
The gt_plt_bar_stack function takes an existing gt_tbl object and
converts the existing values into a percent stacked barchart. The bar chart
will represent either 2 or 3 user-specified values per row, and requires
a list column ahead of time. The palette and labels need to be equal length.
The values must either add up to 100 ie as percentage points if using
position = 'fill', or can be raw values with position = 'stack'. Note that
the labels can be controlled via the fmt_fn argument and the
scales::label_???() family of function.
Usage
gt_plt_bar_stack(
  gt_object,
  column = NULL,
  palette = c("#ff4343", "#bfbfbf", "#0a1c2b"),
  labels = c("Group 1", "Group 2", "Group 3"),
  position = "fill",
  width = 70,
  fmt_fn = scales::label_number(scale_cut = cut_short_scale(), trim = TRUE)
)
Arguments
gt_object | 
 An existing gt table object of class   | 
column | 
 The column wherein the percent stacked barchart should replace existing data. Note that the data must be represented as a list of numeric values ahead of time.  | 
palette | 
 A color palette of length 2 or 3, represented either by hex colors (  | 
labels | 
 A vector of strings of length 2 or 3, representing the labels for the bar chart, will be colored according to the palette as well.  | 
position | 
 An string indicator passed to   | 
width | 
 An integer representing the width of the bar chart in pixels.  | 
fmt_fn | 
 A specific function from   | 
Value
An object of class gt_tbl.
Examples
library(gt)
library(dplyr)
ex_df <- dplyr::tibble(
  x = c("Example 1","Example 1",
        "Example 1","Example 2","Example 2","Example 2",
        "Example 3","Example 3","Example 3","Example 4","Example 4",
        "Example 4"),
  measure = c("Measure 1","Measure 2",
              "Measure 3","Measure 1","Measure 2","Measure 3",
              "Measure 1","Measure 2","Measure 3","Measure 1","Measure 2",
              "Measure 3"),
  data = c(30, 20, 50, 30, 30, 40, 30, 40, 30, 30, 50, 20)
)
tab_df <- ex_df %>%
  group_by(x) %>%
  summarise(list_data = list(data))
tab_df
ex_tab <- tab_df %>%
  gt() %>%
  gt_plt_bar_stack(column = list_data)
See Also
Other Plotting: 
gt_plt_bar_pct(),
gt_plt_bar(),
gt_plt_dist(),
gt_plt_percentile(),
gt_plt_point(),
gt_plt_sparkline(),
gt_plt_winloss()