Learn R Programming

knitr (version 1.31)

fig_chunk: Obtain the figure filenames for a chunk

Description

Given a chunk label, the figure file extension, the figure number(s), and the chunk option fig.path, return the filename(s).

Usage

fig_chunk(label, ext = "", number, fig.path = opts_chunk$get("fig.path"))

Arguments

label

The chunk label.

ext

The figure file extension, e.g. png or pdf.

number

The figure number (by default 1).

fig.path

Passed to fig_path. By default, the chunk option fig.path is used.

Value

A character vector of filenames.

Details

This function can be used in an inline R expression to write out the figure filenames without hard-coding them. For example, if you created a plot in a code chunk with the label foo and figure path my-figure/, you are not recommended to use hard-coded figure paths like \includegraphics{my-figure/foo-1.pdf} (in .Rnw documents) or ![](my-figure/foo-1.png) (R Markdown) in your document. Instead, you should use \Sexpr{fig_chunk('foo', 'pdf')} or ![](`r fig_chunk('foo', 'png')`).

You can generate plots in a code chunk but not show them inside the code chunk by using the chunk option fig.show = 'hide'. Then you can use this function if you want to show them elsewhere.

Examples

Run this code
# NOT RUN {
library(knitr)
fig_chunk("foo", "png")
fig_chunk("foo", "pdf")
fig_chunk("foo", "svg", 2)  # the second plot of the chunk foo
fig_chunk("foo", "png", 1:5)  # if the chunk foo produced 5 plots
# }

Run the code above in your browser using DataLab