Learn R Programming

saros (version 1.6.1)

get_fig_title_suffix_from_ggplot: Generate Figure Title Suffix with N Range and Optional Download Links

Description

Creates a formatted suffix for figure titles that includes the sample size (N) range from a ggplot object. Optionally generates markdown download links for both the plot data and the plot image.

Usage

get_fig_title_suffix_from_ggplot(
  plot,
  save = FALSE,
  n_equals_string = "N = ",
  file_suffixes = c(".csv", ".png"),
  link_prefixes = c("[CSV](", "[PNG]("),
  save_fns = list(utils::write.csv, saros::ggsaver),
  sep = ", "
)

Value

An AsIs object (using I()) containing a character string with:

  • Sample size range formatted as "{n_equals_string}{range}"

  • If save = TRUE: additional download links for plot data and image, separated by sep

  • Empty string if plot is not a valid ggplot object or has no data

Arguments

plot

A ggplot2 object, typically created by makeme().

save

Logical flag. If TRUE, generates download links for the plot data (CSV) and plot image (PNG). If FALSE (default), only returns the N range text.

n_equals_string

String. Prefix text for the sample size display (default: "N = ").

file_suffixes

Character vector. File extensions for the saved plot images (default: ".png"). Should include the dot.

link_prefixes

Character vector. Markdown link text prefixes for the plot download links (default: "[PNG](").

save_fns

List of functions. Functions to save the plot data and images.

sep

String. Separator between N range text and download links (default: ", ").

Details

This function is particularly useful for adding informative captions to plots in reports. The N range is calculated using n_range2(), which extracts the sample size from the plot data. When save = TRUE, the function creates downloadable files using make_link():

The function returns an AsIs object to prevent automatic character escaping in markdown/HTML contexts.

See Also

  • n_range2() for extracting N range from ggplot objects

  • make_link() for creating download links

  • ggsaver() for saving ggplot objects

Examples

Run this code
# Create a sample plot
plot <- makeme(data = ex_survey, dep = b_1:b_3)

# Get just the N range text
get_fig_title_suffix_from_ggplot(plot)

# Custom N prefix
get_fig_title_suffix_from_ggplot(plot, n_equals_string = "Sample size: ")

if (FALSE) {
# Generate with download links (saves files to disk)
get_fig_title_suffix_from_ggplot(plot, save = TRUE)

# Custom separator and link prefix
get_fig_title_suffix_from_ggplot(
  plot,
  save = TRUE,
  sep = " | ",
  link_prefix = "[Download PNG]("
)
}

Run the code above in your browser using DataLab