Création d’une fonction theme

David Gohel

library(flextable)
library(magrittr)

Définition simple

Nous montrons dans cet exemple comment créer une fonction theme que nous pourrons plus tard ré-utiliser autant de fois qu’on le veut.

Une fonction de thème est une fonction R dont le premier argument attendu est un flextable et dont la sortie est ce même flextable mais formaté selon les instructions de votre fonction. Vous êtes libre de faire n’importe quel formatage dans cette fonction.

Code d’exemple

theme_design <- function(x) {
  x <- border_remove(x)
  std_border <- fp_border_default(width = 4, color = "white")
  x <- fontsize(x, size = 10, part = "all")
  x <- font(x, fontname = "Courier", part = "all")
  x <- align(x, align = "center", part = "all")
  x <- bold(x, bold = TRUE, part = "all")
  x <- bg(x, bg = "#475f77", part = "body")
  x <- bg(x, bg = "#eb5555", part = "header")
  x <- bg(x, bg = "#1bbbda", part = "footer")
  x <- color(x, color = "white", part = "all")
  x <- padding(x, padding = 6, part = "all")
  x <- border_outer(x, part="all", border = std_border )
  x <- border_inner_h(x, border = std_border, part="all")
  x <- border_inner_v(x, border = std_border, part="all")
  x <- set_table_properties(x, layout = "fixed")
  x
}

Codes d’illustration

flextable(head(cars)) %>% 
  theme_design()
ft <- flextable(head(airquality)) %>% 
  add_footer_lines(
    c("Daily air quality measurements in New York, May to September 1973.", 
      "Hummm, non non rien.")) %>% 
  autofit() %>% 
  add_header_lines("New York Air Quality Measurements") %>% 
  theme_design()
ft