Function to create a plot specification that can be
added as content to a report. The create_plot
function can
be used to include charts, graphs, and figures on a statistical report.
The function supports plot objects returned by
ggplot
or ggsurvplot
.
It does not support the Base R
plot
function.
create_plot(x, height, width, borders = "none")
The plot to create. Specifically, this parameter should be
set to an object returned from a call to ggplot
or ggsurvplot
. This parameter also accepts
a path to a JPEG file. If a path is specified, the image will be appended
to the report at the point the content object is added.
The height of the plot in the specified units of measure.
The width of the plot in the specified units of measure.
Whether and where to place a border. Valid values are 'top', 'bottom', 'left', 'right', 'all', 'none', and 'outside'. Default is 'none'. The 'left', 'right', and 'outside' border specifications only apply to RTF reports.
The plot specification.
To add a plot to a report, use the create_plot
function. The
function allows you to set a width and height for the plot. The
function will preserve any other geometries you apply to the plot. See
the add_content
function to control page breaking and
blanks spaces above or below the plot.
A plot specification accepts a page_by
function. If a page by
is applied to the plot, the plot data will be subset by the page by
variable, and re-run for each subset.
The plot specification also accepts titles and footnotes. See the
titles
and footnotes
functions for further
details.
As of reporter version 1.2.9, the create_plot
function
also accepts a path to a JPEG stored on the file system instead of a
plot object. This
functionality was added to allow the user to create figures from other
plotting packages. If you pass an image path, the image will be inserted
into the report at the location specified.
titles
to add a title block to the plot,
footnotes
to add footnotes, and add_content
to add the plot object to a report.
Other plot:
print.plot_spec()
library(reporter)
library(ggplot2)
library(magrittr)
# Create temp file path
tmp <- file.path(tempdir(), "mtcars.rtf")
# Create ggplot
p <- ggplot(mtcars, aes(x=cyl, y=mpg)) + geom_point()
# Create plot object
plt <- create_plot(p, height = 4, width = 8)
rpt <- create_report(tmp, output_type = "RTF") %>%
page_header("Client", "Study: XYZ") %>%
titles("Figure 1.0", "MTCARS Miles per Cylinder Plot") %>%
set_margins(top = 1, bottom = 1) %>%
add_content(plt) %>%
footnotes("* Motor Trend, 1974") %>%
page_footer("Time", "Confidential", "Page [pg] of [tpg]")
# Write out report
write_report(rpt)
# Uncomment to view RTF file
# shell.exec(tmp)