From 5e6028e559917e2faacbb721c046e7be56cc3a77 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Wed, 22 Jan 2025 15:52:21 +0100 Subject: [PATCH 1/2] use `add_theme()` directly --- R/guides-.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R/guides-.R b/R/guides-.R index 0e7ca26882..b38c8a3e63 100644 --- a/R/guides-.R +++ b/R/guides-.R @@ -546,7 +546,8 @@ Guides <- ggproto( legend.justification.inside = groups$key$justs[[i]] ) } - grobs[[i]] <- self$package_box(grobs[[i]], position, theme + adjust) + adjust <- add_theme(theme, adjust, "internal theme settings") + grobs[[i]] <- self$package_box(grobs[[i]], position, adjust) } # merge inside grobs into single gtable From f584b4021ddeace262a0d5c9ececbe80412a51c6 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Wed, 22 Jan 2025 15:52:40 +0100 Subject: [PATCH 2/2] fallback for invalid `legend.position` --- R/guides-.R | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/R/guides-.R b/R/guides-.R index b38c8a3e63..03c6ad6ce7 100644 --- a/R/guides-.R +++ b/R/guides-.R @@ -479,7 +479,7 @@ Guides <- ggproto( if (length(default_position) == 2) { default_position <- "inside" } - if (default_position == "none") { + if (!default_position %in% c(.trbl, "inside")) { return(zeroGrob()) } @@ -598,11 +598,7 @@ Guides <- ggproto( } # Determine default direction - direction <- switch( - position, - inside = , left = , right = "vertical", - top = , bottom = "horizontal" - ) + direction <- switch(position, top = , bottom = "horizontal", "vertical") # Populate missing theme arguments theme$legend.box <- theme$legend.box %||% direction