Learn R Programming

flextable (version 0.7.0)

gg_chunk: gg plots chunk wrapper

Description

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

Usage

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

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

Run this code
# NOT RUN {
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
}
# }

Run the code above in your browser using DataLab