knitPrintListPlots {clinUtils} | R Documentation |
Include a list of plots in a knitr document
Description
Each plot is included (internally) in a separated chunk,
so different chunk options can be set for each plot.
For example, plots can be created with different
figure height or width (see examples).
Usage
knitPrintListPlots(
plotsList,
generalLabel = "plotsList",
type = c("ggplot2", "plotly"),
...
)
Arguments
plotsList |
list of plots, e.g. |
generalLabel |
general label for the chunks, used to build the |
type |
string with plot type: 'ggplot2' or 'plotly' |
... |
Arguments passed on to
|
Details
This function should be called within a chunk
with the following option: results = 'asis'
.
Note that a (one-level) list of plotly
plots can
also be included directly via
htmltools::tagList(listPlots)
, but without the possibility to
have different chunk option for each plot.
Value
No returned value, a text is printed with chunk content
Author(s)
Laure Cougnaud
Examples
## Not run:
# Note: the following code should be included
# within a chunk of a knitr (e.g. RMarkdown) document
# to include a list of figures in the Rmarkdown output
data(iris)
## Static plots
library(ggplot2)
plotsListStatic <- list(
point = ggplot(data = cars, aes(x = speed, y = dist)) + geom_point(),
line = ggplot(data = cars, aes(x = speed, y = dist)) + geom_line()
)
# with general label (used to name exported figure)
knitPrintListPlots(
plotsList = plotsListStatic,
generalLabel = "scatter-cars"
)
# with label for each plot (used to name exported figure)
knitPrintListPlots(
plotsList = plotsListStatic,
labels = names(plotsListStatic)
)
# with section header (header of level 1 in Markdown)
knitPrintListPlots(
plotsList = plotsListStatic,
titles = names(plotsListStatic),
titleLevel = 3
)
# with caption for each figure
knitPrintListPlots(
plotsList = plotsListStatic,
fig.cap = names(plotsListStatic)
)
# specify dimension for each figure
knitPrintListPlots(
plotsList = plotsListStatic,
# first plot has width of 3, second of 6
fig.width = c(3, 6),
# both plots have a height of 6
fig.height = 6
)
## Interactive plots
library(plotly)
plotsListInteractive <- list(
point = plot_ly(data = cars, x = ~speed, y = ~dist, type = "scatter", mode = "marker"),
line = plot_ly(data = cars, x = ~speed, y = ~dist, type = "scatter", mode = "line")
)
# with titles
knitPrintListPlots(
plotsList = plotsListInteractive,
type = "plotly",
titles = names(plotsListInteractive),
titleLevel = 3
)
## End(Not run)