Change text highlight color of selected rows and columns of a flextable. A function can be used instead of fixed colors.

When color is a function, it is possible to color cells based on values located in other columns, using hidden columns (those not used by argument colkeys) is a common use case. The argument source has to be used to define what are the columns to be used for the color definition and the argument j has to be used to define where to apply the colors and only accept values from colkeys.

highlight(x, i = NULL, j = NULL, color = "yellow", part = "body", source = j)

## Arguments

x

a flextable object

i

rows selection

j

columns selection

color

color to use as text highlighting color. If a function, function need to return a character vector of colors.

part

partname of the table (one of 'all', 'body', 'header', 'footer')

source

if color is a function, source is specifying the dataset column to be used as argument to color. This is only useful if j is colored with values contained in other columns.

## Illustrations

Other sugar functions for table style: align(), bg(), bold(), color(), empty_blanks(), fontsize(), font(), italic(), line_spacing(), padding(), rotate(), valign()

## Examples

my_color_fun <- function(x) {
out <- rep("yellow", length(x))
out[x < quantile(x, .75)] <- "pink"
out[x < quantile(x, .50)] <- "wheat"
out[x < quantile(x, .25)] <- "gray90"
out
}
ft <- flextable(head(mtcars, n = 10))
ft <- highlight(ft, j = "disp", i = ~ disp > 200, color = "yellow")
ft <- highlight(ft, j = ~ drat + wt + qsec, color = my_color_fun)
ft
#> a flextable object.
#> col_keys: mpg, cyl, disp, hp, drat, wt, qsec, vs, am, gear, carb