From a1523bd0bbfc71cb8ea8337ce4dbe3c2d9f00471 Mon Sep 17 00:00:00 2001 From: Teun van den Brand <49372158+teunbrand@users.noreply.github.com> Date: Wed, 8 Nov 2023 13:03:14 +0100 Subject: [PATCH] make `ScaleContinuous$map()` faster --- R/scale-.R | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/R/scale-.R b/R/scale-.R index eb4248048d..a0e6c1f7cc 100644 --- a/R/scale-.R +++ b/R/scale-.R @@ -632,12 +632,8 @@ ScaleContinuous <- ggproto("ScaleContinuous", Scale, map = function(self, x, limits = self$get_limits()) { x <- self$rescale(self$oob(x, range = limits), limits) - - uniq <- unique0(x) - pal <- self$palette(uniq) - scaled <- pal[match(x, uniq)] - - ifelse(!is.na(scaled), scaled, self$na.value) + scaled <- self$palette(x) + vec_assign(scaled, is.na(scaled), self$na.value) }, rescale = function(self, x, limits = self$get_limits(), range = limits) {