From bdf6e19597e6be5555321bce82d6130d7ed1021a Mon Sep 17 00:00:00 2001 From: pvictor Date: Tue, 5 Jan 2021 11:11:24 +0100 Subject: [PATCH] facets: change scales only if not already provided --- R/facets.R | 43 ++++++++++++++----------------------------- examples/facet_grid.R | 2 ++ 2 files changed, 16 insertions(+), 29 deletions(-) diff --git a/R/facets.R b/R/facets.R index 14fab34..e324d1a 100644 --- a/R/facets.R +++ b/R/facets.R @@ -59,44 +59,29 @@ set_scale <- function(ax, values, scales = c("fixed", "free", "free_y", "free_x" x <- format_date(x) x } - - fun_axis <- switch( + + waxis <- switch( axis, - "x" = ax_xaxis, - "y" = ax_yaxis + "x" = "xaxis", + "y" = "yaxis" ) if (scales == "fixed") { - ax <- fun_axis( - ax = ax, - min = fmt(range_vals[1]), - max = fmt(range_vals[2]) - ) + ax$x$ax_opts[[waxis]]$min <- ax$x$ax_opts[[waxis]]$min %||% fmt(range_vals[1]) + ax$x$ax_opts[[waxis]]$max <- ax$x$ax_opts[[waxis]]$max %||% fmt(range_vals[2]) } else if (scales == "free") { - ax <- fun_axis( - ax = ax, - min = character(0), - max = character(0) - ) + ax$x$ax_opts[[waxis]]$min <- ax$x$ax_opts[[waxis]]$min %||% character(0) + ax$x$ax_opts[[waxis]]$max <- ax$x$ax_opts[[waxis]]$max %||% character(0) } else { - ax <- fun_axis( - ax = ax, - min = fmt(range_vals[1]), - max = fmt(range_vals[2]) - ) + ax$x$ax_opts[[waxis]]$min <- ax$x$ax_opts[[waxis]]$min %||% fmt(range_vals[1]) + ax$x$ax_opts[[waxis]]$max <- ax$x$ax_opts[[waxis]]$max %||% fmt(range_vals[2]) if (scales == "free_x" & axis == "x") { - ax <- fun_axis( - ax = ax, - min = character(0), - max = character(0) - ) + ax$x$ax_opts[[waxis]]$min <- ax$x$ax_opts[[waxis]]$min %||% character(0) + ax$x$ax_opts[[waxis]]$max <- ax$x$ax_opts[[waxis]]$max %||% character(0) } if (scales == "free_y" & axis == "y") { - ax <- fun_axis( - ax = ax, - min = character(0), - max = character(0) - ) + ax$x$ax_opts[[waxis]]$min <- ax$x$ax_opts[[waxis]]$min %||% character(0) + ax$x$ax_opts[[waxis]]$max <- ax$x$ax_opts[[waxis]]$max %||% character(0) } } diff --git a/examples/facet_grid.R b/examples/facet_grid.R index 010f0fd..1c4b980 100644 --- a/examples/facet_grid.R +++ b/examples/facet_grid.R @@ -16,3 +16,5 @@ apex(mpg, aes(displ, cty), type = "scatter") %>% apex(mpg, aes(displ, cty), type = "scatter") %>% ax_facet_grid(rows = vars(drv), cols = vars(year)) +apex(mpg, aes(displ, cty), type = "scatter") %>% + ax_facet_grid(vars(drv), vars(cyl))