R make rendering of plots by method plot_components optional (#551)

This commit is contained in:
Dmitrij Melichov 2018-06-01 02:41:22 +02:00 committed by Ben Letham
parent 8b4e46fd1b
commit e5967a541e

View file

@ -85,6 +85,8 @@ plot.prophet <- function(x, fcst, uncertainty = TRUE, plot_cap = TRUE,
#' @param yearly_start Integer specifying the start day of the yearly
#' seasonality plot. 0 (default) starts the year on Jan 1. 1 shifts by 1 day
#' to Jan 2, and so on.
#' @param render_plot Boolean indicating if the plots should be rendered.
#' Set to FALSE if you want the function to only return the list of panels.
#'
#' @return Invisibly return a list containing the plotted ggplot objects
#'
@ -92,7 +94,7 @@ plot.prophet <- function(x, fcst, uncertainty = TRUE, plot_cap = TRUE,
#' @importFrom dplyr "%>%"
prophet_plot_components <- function(
m, fcst, uncertainty = TRUE, plot_cap = TRUE, weekly_start = 0,
yearly_start = 0
yearly_start = 0, render_plot = TRUE
) {
# Plot the trend
panels <- list(
@ -131,13 +133,15 @@ prophet_plot_components <- function(
}
}
# Make the plot.
grid::grid.newpage()
grid::pushViewport(grid::viewport(layout = grid::grid.layout(length(panels),
1)))
for (i in seq_along(panels)) {
print(panels[[i]], vp = grid::viewport(layout.pos.row = i,
layout.pos.col = 1))
if (render_plot) {
# Make the plot.
grid::grid.newpage()
grid::pushViewport(grid::viewport(layout = grid::grid.layout(length(panels),
1)))
for (i in seq_along(panels)) {
print(panels[[i]], vp = grid::viewport(layout.pos.row = i,
layout.pos.col = 1))
}
}
return(invisible(panels))
}