Learn R Programming

flextable (version 0.9.11)

style: Set formatting properties on a flextable selection

Description

style() applies text, paragraph and cell formatting properties to a selection of rows and columns in one call. It is a lower-level function that bundles what the convenience functions do individually:

  • text (pr_t): font family, size, color, bold, italic, etc., same properties as bold(), italic(), color(), fontsize(), font(), highlight().

  • paragraph (pr_p): alignment, padding, line spacing, same properties as align(), padding(), line_spacing().

  • cell (pr_c): background colour, borders, vertical alignment, same properties as bg(), border(), valign().

Use style() when you need to set several property types at once on the same selection; use the convenience functions when you only need to change one aspect.

Note that style() modifies an existing flextable. To change the initial formatting applied to every new flextable, use set_flextable_defaults() instead.

Usage

style(
  x,
  i = NULL,
  j = NULL,
  pr_t = NULL,
  pr_p = NULL,
  pr_c = NULL,
  part = "body"
)

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>.

pr_t

an officer::fp_text() or officer::fp_text_lite() object defining text formatting (font, size, color, bold, ...).

pr_p

an officer::fp_par() or officer::fp_par_lite() object defining paragraph formatting (alignment, padding, line spacing, ...).

pr_c

an officer::fp_cell() object defining cell formatting (background, borders, vertical alignment, ...).

part

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

See Also

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

Examples

Run this code
library(officer)
def_cell <- fp_cell(border = fp_border(color = "wheat"))

def_par <- fp_par(text.align = "center")

ft <- flextable(head(mtcars))

ft <- style(ft, pr_c = def_cell, pr_p = def_par, part = "all")
ft <- style(ft, ~ drat > 3.5, ~ vs + am + gear + carb,
  pr_t = fp_text(color = "red", italic = TRUE)
)

ft

Run the code above in your browser using DataLab