This function is used to insert mini gg plots into flextable with function compose(). It should be used inside a call to as_paragraph().

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

Arguments

value

gg objects, stored in a list column.

width, height

size of the resulting png file in inches

unit

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

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(), colorize(), 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: 0x5622ccf5f1c0>, <environment: 0x5622cd0f1db8>, ~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: 0x5622ccf9abe8>, <environment: 0x5622cce46888>, <environment: 0x5622ccd96948>, 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: 0x5622cf1ab4b8>, <environment: 0x5622cf4aafd8>, ~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: 0x5622cf1f6b20>, <environment: 0x5622cf07aca8>, <environment: 0x5622cd0f9ff8>, 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: 0x5622cfa1a540>, <environment: 0x5622cfc4cd38>, ~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: 0x5622cfae45b0>, <environment: 0x5622cf63cb78>, <environment: 0x5622cf4d97d8>, var1, var2, correlation