Add win loss point plot into rows of a
gt_plt_winloss function takes an existing
gt_tbl object and
adds squares of a specific color and vertical position based on wins/losses.
It is a wrapper around
gt::text_transform(). The column chosen must be
a list-column as seen in the example code. The column should also only contain
values of 0 (loss), 0.5 (tie), and 1 (win).
gt_plt_winloss( gt_object, column, max_wins = 17, palette = c("#013369", "#D50A0A", "gray"), type = "pill", width = max_wins/0.83 )
An existing gt table object of class
The column wherein the winloss plot should replace existing data. Note that the data must be represented as a list of numeric values ahead of time.
An integer indicating the max possible wins, this will be used to add padding if the total wins/losses observed is less than the max. This is useful for mid-season reporting. Defaults to a red, blue, grey palette.
A character vector of length 3, specifying the colors for win, loss, tie in that exact order.
A character string representing the type of plot, either a 'pill' or 'square'
A numeric indicating the width of the plot in
mm, this can help with larger datasets where data points are overlapping.
#' library(gt) set.seed(37) data_in <- dplyr::tibble( grp = rep(c("A", "B", "C"), each = 10), wins = sample(c(0,1,.5), size = 30, prob = c(0.45, 0.45, 0.1), replace = TRUE) ) %>% dplyr::group_by(grp) %>% dplyr::summarize(wins=list(wins), .groups = "drop") data_in win_table <- data_in %>% gt() %>% gt_plt_winloss(wins)