This comment #3619 (comment) prompted me to look into plot_env, and as far as I can see it's stored and handed around just so it can be eventually given to the function combine_vars(), which then doesn't use it:
|
combine_vars <- function(data, env = emptyenv(), vars = NULL, drop = TRUE) { |
|
possible_columns <- unique(unlist(lapply(data, names))) |
|
if (length(vars) == 0) return(new_data_frame()) |
|
|
|
# For each layer, compute the facet values |
|
values <- compact(lapply(data, eval_facets, facets = vars, possible_columns = possible_columns)) |
|
|
|
# Form the base data.frame which contains all combinations of faceting |
|
# variables that appear in the data |
|
has_all <- unlist(lapply(values, length)) == length(vars) |
|
if (!any(has_all)) { |
|
missing <- lapply(values, function(x) setdiff(names(vars), names(x))) |
|
missing_txt <- vapply(missing, var_list, character(1)) |
|
name <- c("Plot", paste0("Layer ", seq_len(length(data) - 1))) |
|
|
|
abort(glue( |
|
"At least one layer must contain all faceting variables: {var_list(names(vars))}.\n", |
|
glue_collapse(glue("* {name} is missing {missing_txt}"), "\n", last = "\n") |
|
)) |
|
} |
|
|
|
base <- unique(rbind_dfs(values[has_all])) |
|
if (!drop) { |
|
base <- unique_combs(base) |
|
} |
|
|
|
# Systematically add on missing combinations |
|
for (value in values[!has_all]) { |
|
if (empty(value)) next; |
|
|
|
old <- base[setdiff(names(base), names(value))] |
|
new <- unique(value[intersect(names(base), names(value))]) |
|
if (drop) { |
|
new <- unique_combs(new) |
|
} |
|
base <- unique(rbind(base, df.grid(old, new))) |
|
} |
|
|
|
if (empty(base)) { |
|
abort("Faceting variables must have at least one value") |
|
} |
|
|
|
base |
|
} |
Is this a hold-over from the times before tidy eval? Can we remove this/or assign
NULL here?
It is already marked as deprecated in the documentation:
|
#' @param environment DEPRECATED. Used prior to tidy evaluation. |
This comment #3619 (comment) prompted me to look into
plot_env, and as far as I can see it's stored and handed around just so it can be eventually given to the functioncombine_vars(), which then doesn't use it:ggplot2/R/facet-.r
Lines 544 to 587 in e9b9946
Is this a hold-over from the times before tidy eval? Can we remove this/or assign
NULLhere?ggplot2/R/plot.r
Line 96 in 5a686c3
It is already marked as deprecated in the documentation:
ggplot2/R/plot.r
Line 35 in 5a686c3