Learn R Programming

flextable (version 0.9.11)

bg: Set background color

Description

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

When bg 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 must be used to define the columns to be used for the color definition, and the argument j must be used to define where to apply the colors and only accepts values from colkeys.

Usage

bg(x, i = NULL, j = NULL, bg, part = "body", source = j)

Arguments

x

a 'flextable' object, see flextable-package to learn how to create 'flextable' object.

i

row selector, see section Row selection with the i parameter in <Selectors in flextable>.

j

column selector, see section Column selection with the j parameter in <Selectors in flextable>.

bg

color to use as background color. If a function, the function must return a character vector of colors.

part

part selector, see section Part selection with the part parameter in <Selectors in flextable>. Value 'all' can be used.

source

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

See Also

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

Examples

Run this code
ft_1 <- flextable(head(mtcars))
ft_1 <- bg(ft_1, bg = "wheat", part = "header")
ft_1 <- bg(ft_1, i = ~ qsec < 18, bg = "#EFEFEF", part = "body")
ft_1 <- bg(ft_1, j = "drat", bg = "#606060", part = "all")
ft_1 <- color(ft_1, j = "drat", color = "white", part = "all")
ft_1

if (require("scales")) {
  ft_2 <- flextable(head(iris))
  colourer <- col_numeric(
    palette = c("wheat", "red"),
    domain = c(0, 7)
  )
  ft_2 <- bg(ft_2,
    j = c(
      "Sepal.Length", "Sepal.Width",
      "Petal.Length", "Petal.Width"
    ),
    bg = colourer, part = "body"
  )
  ft_2
}

Run the code above in your browser using DataLab