From a91d4f5b56392648a254ab905d0d5f9a7223fdb0 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Thu, 18 Jul 2024 17:01:36 +0200 Subject: [PATCH 1/2] cast expressions to lists --- R/guide-bins.R | 3 +++ R/guide-colorsteps.R | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/R/guide-bins.R b/R/guide-bins.R index e2bd0db428..9a8fa03d64 100644 --- a/R/guide-bins.R +++ b/R/guide-bins.R @@ -169,6 +169,9 @@ GuideBins <- ggproto( } else { key$.show[nrow(key)] <- TRUE } + if (is.expression(labels)) { + labels <- as.list(labels) + } key$.label <- labels key <- vec_slice(key, !is.na(oob_censor_any(key$.value))) diff --git a/R/guide-colorsteps.R b/R/guide-colorsteps.R index 52b6e1809d..2df02cd972 100644 --- a/R/guide-colorsteps.R +++ b/R/guide-colorsteps.R @@ -114,7 +114,11 @@ GuideColoursteps <- ggproto( } else { key$.value <- breaks } - key$.label <- scale$get_labels(breaks) + labels <- scale$get_labels(breaks) + if (is.expression(labels)) { + labels <- as.list(labels) + } + key$.label <- labels if (breaks[1] %in% limits) { key$.value <- key$.value - 1L From 4bc4e4f90079cddbf2137e2544cb3b5e8eaac941 Mon Sep 17 00:00:00 2001 From: Teun van den Brand Date: Thu, 18 Jul 2024 17:07:30 +0200 Subject: [PATCH 2/2] additional workaround for expressions --- R/guide-bins.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/guide-bins.R b/R/guide-bins.R index 9a8fa03d64..d1856a69ed 100644 --- a/R/guide-bins.R +++ b/R/guide-bins.R @@ -154,7 +154,7 @@ GuideBins <- ggproto( key$.show <- NA labels <- scale$get_labels(breaks) - if (is.character(scale$labels) || is.numeric(scale$labels)) { + if (is.character(scale$labels) || is.numeric(scale$labels) || is.expression(scale$labels)) { limit_lab <- c(NA, NA) } else { limit_lab <- scale$get_labels(limits) @@ -261,7 +261,7 @@ GuideBins <- ggproto( list(labels = flip_element_grob( elements$text, - label = key$.label, + label = validate_labels(key$.label), x = unit(key$.value, "npc"), margin_x = FALSE, margin_y = TRUE,