Skip to content

Commit 5074f11

Browse files
authored
Switch to scales::Range classes (#5086)
* Switch to scales::Range classes * Delete range.r * Update tests * Add NEWS bullet * Update Collate field
1 parent 4daadf7 commit 5074f11

File tree

6 files changed

+17
-49
lines changed

6 files changed

+17
-49
lines changed

DESCRIPTION

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,6 @@ Collate:
205205
'position-nudge.R'
206206
'position-stack.r'
207207
'quick-plot.r'
208-
'range.r'
209208
'reshape-add-margins.R'
210209
'save.r'
211210
'scale-.r'

NEWS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# ggplot2 (development version)
22

3+
* ggplot2 now uses `scales::DiscreteRange` and `scales::ContinuousRange`, which
4+
are available to write scale extensions from scratch (@teunbrand, #2710).
35
* For the purposes of checking required or non-missing aesthetics, character
46
vectors are no longer considered non-finite (@teunbrand, @4284).
57
* Fixed bug in `coord_sf()` where graticule lines didn't obey

R/range.r

Lines changed: 0 additions & 33 deletions
This file was deleted.

R/scale-.r

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ continuous_scale <- function(aesthetics, scale_name, palette, name = waiver(),
126126
scale_name = scale_name,
127127
palette = palette,
128128

129-
range = continuous_range(),
129+
range = ContinuousRange$new(),
130130
limits = limits,
131131
trans = trans,
132132
na.value = na.value,
@@ -211,7 +211,7 @@ discrete_scale <- function(aesthetics, scale_name, palette, name = waiver(),
211211
scale_name = scale_name,
212212
palette = palette,
213213

214-
range = discrete_range(),
214+
range = DiscreteRange$new(),
215215
limits = limits,
216216
na.value = na.value,
217217
na.translate = na.translate,
@@ -280,7 +280,7 @@ binned_scale <- function(aesthetics, scale_name, palette, name = waiver(),
280280
scale_name = scale_name,
281281
palette = palette,
282282

283-
range = continuous_range(),
283+
range = ContinuousRange$new(),
284284
limits = limits,
285285
trans = trans,
286286
na.value = na.value,
@@ -406,7 +406,7 @@ Scale <- ggproto("Scale", NULL,
406406
cli::cli_abort("Not implemented")
407407
},
408408

409-
range = ggproto(NULL, Range),
409+
range = Range$new(),
410410
limits = NULL,
411411
na.value = NA,
412412
expand = waiver(),
@@ -580,7 +580,7 @@ has_default_transform <- function(scale) {
580580
#' @usage NULL
581581
#' @export
582582
ScaleContinuous <- ggproto("ScaleContinuous", Scale,
583-
range = continuous_range(),
583+
range = ContinuousRange$new(),
584584
na.value = NA_real_,
585585
rescaler = rescale,
586586
oob = censor,
@@ -763,7 +763,7 @@ ScaleContinuous <- ggproto("ScaleContinuous", Scale,
763763

764764
clone = function(self) {
765765
new <- ggproto(NULL, self)
766-
new$range <- continuous_range()
766+
new$range <- ContinuousRange$new()
767767
new
768768
},
769769

@@ -951,7 +951,7 @@ ScaleDiscrete <- ggproto("ScaleDiscrete", Scale,
951951

952952
clone = function(self) {
953953
new <- ggproto(NULL, self)
954-
new$range <- discrete_range()
954+
new$range <- DiscreteRange$new()
955955
new
956956
},
957957

@@ -989,7 +989,7 @@ ScaleDiscrete <- ggproto("ScaleDiscrete", Scale,
989989
#' @usage NULL
990990
#' @export
991991
ScaleBinned <- ggproto("ScaleBinned", Scale,
992-
range = continuous_range(),
992+
range = ContinuousRange$new(),
993993
na.value = NA_real_,
994994
rescaler = rescale,
995995
oob = squish,
@@ -1155,7 +1155,7 @@ ScaleBinned <- ggproto("ScaleBinned", Scale,
11551155

11561156
clone = function(self) {
11571157
new <- ggproto(NULL, self)
1158-
new$range <- continuous_range()
1158+
new$range <- ContinuousRange$new()
11591159
new
11601160
},
11611161

R/scale-discrete-.r

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ scale_x_discrete <- function(..., expand = waiver(), guide = waiver(), position
6363
sc <- discrete_scale(c("x", "xmin", "xmax", "xend"), "position_d", identity, ...,
6464
expand = expand, guide = guide, position = position, super = ScaleDiscretePosition)
6565

66-
sc$range_c <- continuous_range()
66+
sc$range_c <- ContinuousRange$new()
6767
sc
6868
}
6969
#' @rdname scale_discrete
@@ -72,7 +72,7 @@ scale_y_discrete <- function(..., expand = waiver(), guide = waiver(), position
7272
sc <- discrete_scale(c("y", "ymin", "ymax", "yend"), "position_d", identity, ...,
7373
expand = expand, guide = guide, position = position, super = ScaleDiscretePosition)
7474

75-
sc$range_c <- continuous_range()
75+
sc$range_c <- ContinuousRange$new()
7676
sc
7777
}
7878

@@ -135,8 +135,8 @@ ScaleDiscretePosition <- ggproto("ScaleDiscretePosition", ScaleDiscrete,
135135

136136
clone = function(self) {
137137
new <- ggproto(NULL, self)
138-
new$range <- discrete_range()
139-
new$range_c <- continuous_range()
138+
new$range <- DiscreteRange$new()
139+
new$range_c <- ContinuousRange$new()
140140
new
141141
}
142142
)

tests/testthat/test-range.r

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
test_that("continuous ranges expand as expected", {
2-
r <- continuous_range()
2+
r <- ContinuousRange$new()
33

44
r$train(1)
55
expect_equal(r$range, c(1, 1))
@@ -9,7 +9,7 @@ test_that("continuous ranges expand as expected", {
99
})
1010

1111
test_that("discrete ranges expand as expected", {
12-
r <- discrete_range()
12+
r <- DiscreteRange$new()
1313

1414
r$train("a")
1515
expect_equal(r$range, "a")

0 commit comments

Comments
 (0)