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. For RTF and DOCX files,
the function additionally accepts a path to an EMF file.
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 do not apply to TXT 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.
The function also accepts a path to an image file 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. The system supports JPEG images for all output types that support graphics. EMF images are also supported for DOCX and RTF outputs. Note that EMF format may not render properly in all operating environments, and JPEG is the preferred image type.
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, font = "Arial", 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)