plot_chunk: Mini plot chunk

View source: R/chunk_images.R

plot_chunkR Documentation

Mini plot chunk

Description

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

  • compose() and as_paragraph(),

  • append_chunks(),

  • prepend_chunks().

Available plots are 'box', 'line', 'points', 'density'.

Usage

plot_chunk(
  value,
  width = 1,
  height = 0.2,
  type = "box",
  free_scale = FALSE,
  unit = "in",
  alt = "",
  ...
)

Arguments

value

a numeric vector, stored in a list column.

width, height

size of the resulting png file in inches

type

type of the plot: 'box', 'line', 'points' or 'density'.

free_scale

Should scales be free (TRUE or FALSE, the default value).

unit

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

alt

alternative text for the image (used for accessibility)

...

arguments sent to plot functions (see par())

Note

This chunk option requires package officedown in a R Markdown context with Word output format. With Quarto (format: docx) or rmarkdown::word_document(), the resulting file must be repaired with repair_docx().

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

See Also

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

Examples

library(data.table)
library(flextable)

z <- as.data.table(iris)
z <- z[, list(
  Sepal.Length = mean(Sepal.Length, na.rm = TRUE),
  z = list(.SD$Sepal.Length)
), by = "Species"]

ft <- flextable(z,
  col_keys = c("Species", "Sepal.Length", "box", "density")
)
ft <- mk_par(ft, j = "box", value = as_paragraph(
  plot_chunk(
    value = z, type = "box",
    border = "red", col = "transparent"
  )
))
ft <- mk_par(ft, j = "density", value = as_paragraph(
  plot_chunk(value = z, type = "dens", col = "red")
))
ft <- set_table_properties(ft, layout = "autofit", width = .6)
ft <- set_header_labels(ft, box = "boxplot", density = "density")
theme_vanilla(ft)

flextable documentation built on July 7, 2026, 5:06 p.m.