This function is used to insert mini gg plots into flextable with functions:

gg_chunk(value, width = 1, height = 0.2, unit = "in", res = 300)

Arguments

value

gg objects, stored in a list column; or a list of 'ggplot' objects.

width, height

size of the resulting png file.

unit

unit for width and height, one of "in", "cm", "mm".

res

resolution of the png image in ppi

Note

This chunk option requires package officedown in a R Markdown context with Word output format.

PowerPoint cannot mix images and text in a paragraph, images are removed when outputing to PowerPoint format.

Illustrations

See also

Other chunk elements for paragraph: as_bracket(), as_b(), as_chunk(), as_equation(), as_highlight(), as_image(), as_i(), as_sub(), as_sup(), as_word_field(), colorize(), grid_chunk(), hyperlink_text(), linerange(), lollipop(), minibar(), plot_chunk()

Examples

library(data.table)
library(flextable)
if(require("ggplot2")){
  my_cor_plot <- function(x){
    cols <- colnames(x)[sapply(x, is.numeric)]
    x <- x[, .SD, .SDcols = cols]
    cormat <- as.data.table(cor(x))
    cormat$var1 <- colnames(cormat)
    cormat <- melt(cormat, id.vars = "var1", measure.vars = cormat$var1,
                   variable.name = "var2", value.name = "correlation")
    ggplot(data = cormat, aes(x=var1, y=var2, fill=correlation)) +
      geom_tile() + coord_equal() +
      scale_fill_gradient2(low = "blue",
                           mid = "white", high = "red", limits = c(-1, 1),
                           guide = FALSE) + theme_void()
  }
  z <- as.data.table(iris)
  z <- z[ , list(gg = list(my_cor_plot(.SD))), by = "Species"]
  ft <- flextable(z)
  ft <- mk_par(ft, j = "gg",
               value = as_paragraph(
                 gg_chunk(value = gg, width = 1, height = 1)
               ))
  ft
}
#> Loading required package: ggplot2
#> Warning: It is deprecated to specify `guide = FALSE` to remove a guide. Please use `guide = "none"` instead.
#> Warning: It is deprecated to specify `guide = FALSE` to remove a guide. Please use `guide = "none"` instead.
#> Warning: It is deprecated to specify `guide = FALSE` to remove a guide. Please use `guide = "none"` instead.
#> a flextable object.
#> col_keys: `Species`, `gg` 
#> header has 1 row(s) 
#> body has 3 row(s) 
#> original dataset sample: 
#>      Species
#> 1     setosa
#> 2 versicolor
#> 3  virginica
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          gg
#> 1           Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 1, 0.7425467, 0.2671758, 0.2780984, 0.7425467, 1, 0.1777, 0.232752, 0.2671758, 0.1777, 1, 0.33163, 0.2780984, 0.232752, 0.33163, 1, <environment: 0x5584f66d0fb0>, <environment: 0x5584f753b958>, ~var1, ~var2, ~correlation, , plain, black, 11, 0.5, 0.5, 0, 0.9, 0, 0, 0, 0, FALSE, TRUE, 0, 1.2, 0.8, TRUE, 0, TRUE, right, 5.5, FALSE, 1.2, 0, 1, 5.5, 0, 0, 0, TRUE, panel, 0, 1, 5.5, 0, 0, 0, TRUE, 0.8, 1, 1, 5.5, 0, 0, 0, TRUE, panel, 1.2, 0.5, 0.5, TRUE, topleft, 0, 0, 0, 0, 0.8, TRUE, 2.75, 2.75, <environment: 0x5584f7abb648>, <environment: 0x5584f9bcca50>, <environment: 0x5584f9ce1f68>, var1, var2, correlation
#> 2 Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 1, 0.5259107, 0.754049, 0.5464611, 0.5259107, 1, 0.5605221, 0.6639987, 0.754049, 0.5605221, 1, 0.7866681, 0.5464611, 0.6639987, 0.7866681, 1, <environment: 0x5584eede6ee0>, <environment: 0x5584fd386040>, ~var1, ~var2, ~correlation, , plain, black, 11, 0.5, 0.5, 0, 0.9, 0, 0, 0, 0, FALSE, TRUE, 0, 1.2, 0.8, TRUE, 0, TRUE, right, 5.5, FALSE, 1.2, 0, 1, 5.5, 0, 0, 0, TRUE, panel, 0, 1, 5.5, 0, 0, 0, TRUE, 0.8, 1, 1, 5.5, 0, 0, 0, TRUE, panel, 1.2, 0.5, 0.5, TRUE, topleft, 0, 0, 0, 0, 0.8, TRUE, 2.75, 2.75, <environment: 0x5584eed70480>, <environment: 0x5584efbc3f10>, <environment: 0x5584f752ce00>, var1, var2, correlation
#> 3 Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 1, 0.4572278, 0.8642247, 0.2811077, 0.4572278, 1, 0.4010446, 0.537728, 0.8642247, 0.4010446, 1, 0.3221082, 0.2811077, 0.537728, 0.3221082, 1, <environment: 0x5584fe05ff38>, <environment: 0x558500f49a28>, ~var1, ~var2, ~correlation, , plain, black, 11, 0.5, 0.5, 0, 0.9, 0, 0, 0, 0, FALSE, TRUE, 0, 1.2, 0.8, TRUE, 0, TRUE, right, 5.5, FALSE, 1.2, 0, 1, 5.5, 0, 0, 0, TRUE, panel, 0, 1, 5.5, 0, 0, 0, TRUE, 0.8, 1, 1, 5.5, 0, 0, 0, TRUE, panel, 1.2, 0.5, 0.5, TRUE, topleft, 0, 0, 0, 0, 0.8, TRUE, 2.75, 2.75, <environment: 0x5585024dbee8>, <environment: 0x558501c44310>, <environment: 0x55850091cf10>, var1, var2, correlation