| Type: | Package |
| Title: | Save Incremental Builds of Plots |
| Version: | 0.1.0 |
| Author: | Jongbin Jung |
| Maintainer: | Jongbin Jung <me@jongbin.com> |
| Description: | Saves a 'ggplot' object into multiple files, each with a layer added incrementally. Generally to be used in presentation slides. Flexible enough to allow different file types for the final complete plot, and intermediate builds. |
| License: | GPL-3 | file LICENSE |
| Encoding: | UTF-8 |
| LazyData: | true |
| RoxygenNote: | 6.0.1 |
| Suggests: | testthat |
| Depends: | ggplot2 |
| Imports: | purrr, readr, tools |
| NeedsCompilation: | no |
| Packaged: | 2018-02-05 18:09:51 UTC; jongbin |
| Repository: | CRAN |
| Date/Publication: | 2018-02-05 18:45:42 UTC |
ggbuildr: A package for incrementally building layers of a ggplot
Description
The ggbuildr package provides functions for saving incremental
versions of a ggplot object, mainly to be used in a slide deck.
Incrementally build and save layers of a ggplot object into numbered files
Description
build_plot save a ggplot object incrementally, adding geom layers in
the order specified with a list in the build_order argument.
Usage
build_plot(plot, filepath = NULL, build_order, subdir = "builds",
ext = tools::file_ext(filepath), build_ext = ext, save_full = TRUE,
save_rds = FALSE, preserve_order = TRUE, ...)
Arguments
plot |
ggplot object. The final plot to build towards. |
filepath |
character string specifying where to save the plot, with or
without extensions. If the filepath is given without extension, the
|
build_order |
list of numerical vectors. The order in which to build each layer of the plot, where the first (lowest) layer is 1. Multiple layers can be built at a single increment by specifying the list element as a vector of two or more values. |
subdir |
character string. Specifies where to save the incremental builds, as opposed to the final, full plot. (default: "builds") |
ext |
character string. Extension for the full plot. Also used as
extension for builds if |
build_ext |
(Optional) character string. If specified, the incremental builds will be saved in this format (e.g., one could save the final plot as a pdf, but save the incremental builds as a png which might be easier to add to slides.) |
save_full |
logical. Whether or not to save the full plot (default: TRUE) |
save_rds |
logical. Whether or not to save the full ggplot object as an rds file with the same filepath. (default: FALSE) |
preserve_order |
logical. Whether or not to keep the original order of
the layers. Only relevant if the specified |
... |
other arguments, passed to |
Details
The graphic device is either automatically detected from the filepath,
or can be set explicitly with ext. By default, the final, complete
plot is saved in filepath, and the incremental builds are saved in a
subdirectory specified with subdir, "builds" by default. Sometimes,
it's useful to also keep the full ggplot object as an rds file for future
edits, which can be done by setting the save_rds argument to TRUE.
Value
Saves plots to specified path.
Examples
X <- rnorm(20)
Y <- X + rnorm(20)
set.seed(1)
pd <- data.frame(X, Y)
p <- ggplot(pd, aes(X, Y)) +
geom_smooth() +
geom_point()
# Plot smooth, and then point
build_plot(p, build_order = list(1, 2))
# Plot point, and then smooth, but preserve order (i.e, keep points on top)
build_plot(p, build_order = list(2, 1))
# Plot point, and then smooth, and draw smooth layer on top of point
build_plot(p, build_order = list(2, 1), preserve_order = FALSE)