Skip to content

Commit 00dbf30

Browse files
committed
populate fallback palettes
1 parent 87ed95f commit 00dbf30

File tree

6 files changed

+86
-28
lines changed

6 files changed

+86
-28
lines changed

R/scale-alpha.R

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@
3333
#' p + scale_alpha("cylinders")
3434
scale_alpha <- function(name = waiver(), ..., range = NULL, aesthetics = "alpha") {
3535
palette <- if (!is.null(range)) pal_rescale(range) else NULL
36-
continuous_scale(aesthetics, name = name, palette = palette, ...)
36+
continuous_scale(
37+
aesthetics, name = name, palette = palette,
38+
fallback.palette = pal_rescale(c(0.1, 1)),
39+
...
40+
)
3741
}
3842

3943
#' @rdname scale_alpha
@@ -44,7 +48,11 @@ scale_alpha_continuous <- scale_alpha
4448
#' @export
4549
scale_alpha_binned <- function(name = waiver(), ..., range = NULL, aesthetics = "alpha") {
4650
palette <- if (!is.null(range)) pal_rescale(range) else NULL
47-
binned_scale(aesthetics, name = name, palette = palette, ...)
51+
binned_scale(
52+
aesthetics, name = name, palette = palette,
53+
fallback.palette = pal_rescale(c(0.1, 1)),
54+
...
55+
)
4856
}
4957

5058
#' @rdname scale_alpha
@@ -64,7 +72,11 @@ scale_alpha_ordinal <- function(name = waiver(), ..., range = NULL, aesthetics =
6472
} else {
6573
NULL
6674
}
67-
discrete_scale(aesthetics, name = name, palette = palette, ...)
75+
discrete_scale(
76+
aesthetics, name = name, palette = palette,
77+
fallback.palette = function(n) seq(0.1, 1, length.out = n),
78+
...
79+
)
6880
}
6981

7082
#' @rdname scale_alpha
@@ -74,7 +86,8 @@ scale_alpha_datetime <- function(name = waiver(), ..., range = NULL, aesthetics
7486
palette <- if (!is.null(range)) pal_rescale(range) else NULL
7587
datetime_scale(
7688
aesthetics = aesthetics, transform = "time", name = name,
77-
palette = palette, ...
89+
palette = palette, fallback.palette = pal_rescale(c(0.1, 1)),
90+
...
7891
)
7992
}
8093

@@ -85,6 +98,7 @@ scale_alpha_date <- function(name = waiver(), ..., range = NULL, aesthetics = "a
8598
palette <- if (!is.null(range)) pal_rescale(range) else NULL
8699
datetime_scale(
87100
aesthetics = aesthetics, transform = "date", name = name,
88-
palette = palette, ...
101+
palette = palette, fallback.palette = pal_rescale(c(0.1, 1)),
102+
...
89103
)
90104
}

R/scale-colour.R

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ scale_colour_continuous <- function(..., palette = NULL, aesthetics = "colour",
9494
palette <- if (!is.null(palette)) as_continuous_pal(palette)
9595
continuous_scale(
9696
aesthetics, palette = palette, guide = guide, na.value = na.value,
97+
fallback.palette = pal_seq_gradient("#132B43", "#56B1F7"),
9798
...
9899
)
99100
}
@@ -116,6 +117,7 @@ scale_fill_continuous <- function(..., palette = NULL, aesthetics = "fill", guid
116117
palette <- if (!is.null(palette)) as_continuous_pal(palette)
117118
continuous_scale(
118119
aesthetics, palette = palette, guide = guide, na.value = na.value,
120+
fallback.palette = pal_seq_gradient("#132B43", "#56B1F7"),
119121
...
120122
)
121123
}
@@ -138,6 +140,7 @@ scale_colour_binned <- function(..., palette = NULL, aesthetics = "colour", guid
138140
palette <- if (!is.null(palette)) pal_binned(as_discrete_pal(palette))
139141
binned_scale(
140142
aesthetics, palette = palette, guide = guide, na.value = na.value,
143+
fallback.palette = pal_seq_gradient("#132B43", "#56B1F7"),
141144
...
142145
)
143146
}
@@ -159,6 +162,7 @@ scale_fill_binned <- function(..., palette = NULL, aesthetics = "fill", guide =
159162
palette <- if (!is.null(palette)) pal_binned(as_discrete_pal(palette))
160163
binned_scale(
161164
aesthetics, palette = palette, guide = guide, na.value = na.value,
165+
fallback.palette = pal_seq_gradient("#132B43", "#56B1F7"),
162166
...
163167
)
164168
}
@@ -226,6 +230,7 @@ scale_colour_discrete <- function(..., palette = NULL, aesthetics = "colour", na
226230
palette <- if (!is.null(palette)) as_discrete_pal(palette)
227231
discrete_scale(
228232
aesthetics, palette = palette, na.value = na.value,
233+
fallback.palette = pal_hue(),
229234
...
230235
)
231236
}
@@ -247,6 +252,7 @@ scale_fill_discrete <- function(..., palette = NULL, aesthetics = "fill", na.val
247252
palette <- if (!is.null(palette)) as_discrete_pal(palette)
248253
discrete_scale(
249254
aesthetics, palette = palette, na.value = na.value,
255+
fallback.palette = pal_hue(),
250256
...
251257
)
252258
}

R/scale-linetype.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
scale_linetype <- function(name = waiver(), ..., aesthetics = "linetype") {
4646
discrete_scale(
4747
aesthetics, name = name,
48-
palette = NULL,
48+
palette = NULL, fallback.palette = pal_linetype(),
4949
...
5050
)
5151
}
@@ -55,7 +55,7 @@ scale_linetype <- function(name = waiver(), ..., aesthetics = "linetype") {
5555
scale_linetype_binned <- function(name = waiver(), ..., aesthetics = "linetype") {
5656
binned_scale(
5757
aesthetics, name = name,
58-
palette = NULL,
58+
palette = NULL, fallback.palette = pal_binned(pal_linetype()),
5959
...
6060
)
6161
}

R/scale-linewidth.R

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,12 @@ scale_linewidth_continuous <- function(name = waiver(), breaks = waiver(),
3636
guide = "legend",
3737
aesthetics = "linewidth") {
3838
palette <- if (!is.null(range)) pal_rescale(range) else NULL
39-
continuous_scale(aesthetics, palette = palette, name = name,
40-
breaks = breaks, labels = labels, limits = limits,
41-
transform = transform, trans = trans, guide = guide)
39+
continuous_scale(
40+
aesthetics, palette = palette, name = name,
41+
breaks = breaks, labels = labels, limits = limits,
42+
transform = transform, trans = trans, guide = guide,
43+
fallback.palette = pal_rescale(c(1, 6))
44+
)
4245
}
4346

4447
#' @rdname scale_linewidth
@@ -52,10 +55,13 @@ scale_linewidth_binned <- function(name = waiver(), breaks = waiver(), labels =
5255
nice.breaks = TRUE, transform = "identity",
5356
trans = deprecated(), guide = "bins", aesthetics = "linewidth") {
5457
palette <- if (!is.null(range)) pal_rescale(range) else NULL
55-
binned_scale(aesthetics, palette = palette, name = name,
56-
breaks = breaks, labels = labels, limits = limits,
57-
transform = transform, trans = trans, n.breaks = n.breaks,
58-
nice.breaks = nice.breaks, guide = guide)
58+
binned_scale(
59+
aesthetics, palette = palette, name = name,
60+
breaks = breaks, labels = labels, limits = limits,
61+
transform = transform, trans = trans, n.breaks = n.breaks,
62+
nice.breaks = nice.breaks, guide = guide,
63+
fallback.palette = pal_rescale(c(1, 6))
64+
)
5965
}
6066

6167
#' @rdname scale_linewidth
@@ -77,7 +83,11 @@ scale_linewidth_ordinal <- function(name = waiver(), ..., range = NULL, aestheti
7783
} else {
7884
NULL
7985
}
80-
discrete_scale(aesthetics, name = name, palette = palette, ...)
86+
discrete_scale(
87+
aesthetics, name = name, palette = palette,
88+
fallback.palette = function(n) seq(2, 6, length.out = n),
89+
...
90+
)
8191
}
8292

8393
#' @rdname scale_linewidth
@@ -87,7 +97,8 @@ scale_linewidth_datetime <- function(name = waiver(), ..., range = NULL, aesthet
8797
palette <- if (!is.null(range)) pal_rescale(range) else NULL
8898
datetime_scale(
8999
aesthetics, transform = "time", name = name,
90-
palette = palette, ...
100+
palette = palette, fallback.palette = pal_rescale(c(1, 6)),
101+
...
91102
)
92103
}
93104

@@ -98,6 +109,7 @@ scale_linewidth_date <- function(name = waiver(), ..., range = NULL, aesthetics
98109
palette <- if (!is.null(range)) pal_rescale(range) else NULL
99110
datetime_scale(
100111
aesthetics, transform = "date", name = name,
101-
palette = palette, ...
112+
palette = palette, fallback.palette = pal_rescale(c(1, 6)),
113+
...
102114
)
103115
}

R/scale-shape.R

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,22 @@
5151
#' theme_void()
5252
scale_shape <- function(name = waiver(), ..., solid = NULL, aesthetics = "shape") {
5353
palette <- if (!is.null(solid)) pal_shape(solid) else NULL
54-
discrete_scale(aesthetics, name = name, palette = palette, ...)
54+
discrete_scale(
55+
aesthetics, name = name, palette = palette,
56+
fallback.palette = pal_shape(),
57+
...
58+
)
5559
}
5660

5761
#' @rdname scale_shape
5862
#' @export
5963
scale_shape_binned <- function(name = waiver(), ..., solid = TRUE, aesthetics = "shape") {
6064
palette <- if (!is.null(solid)) pal_binned(pal_shape(solid)) else NULL
61-
binned_scale(aesthetics, name = name, palette = palette, ...)
65+
binned_scale(
66+
aesthetics, name = name, palette = palette,
67+
fallback.palette = pal_binned(pal_shape(solid)),
68+
...
69+
)
6270
}
6371

6472
#' @rdname scale_shape

R/scale-size.R

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,12 @@ scale_size_continuous <- function(name = waiver(), breaks = waiver(), labels = w
5858
guide = "legend",
5959
aesthetics = "size") {
6060
palette <- if (!is.null(range)) pal_area(range) else NULL
61-
continuous_scale(aesthetics, palette = palette, name = name,
61+
continuous_scale(
62+
aesthetics, palette = palette, name = name,
6263
breaks = breaks, labels = labels, limits = limits,
63-
transform = transform, trans = trans, guide = guide)
64+
transform = transform, trans = trans, guide = guide,
65+
fallback.palette = pal_area()
66+
)
6467
}
6568

6669
#' @rdname scale_size
@@ -86,10 +89,13 @@ scale_size_binned <- function(name = waiver(), breaks = waiver(), labels = waive
8689
trans = deprecated(), guide = "bins",
8790
aesthetics = "size") {
8891
palette <- if (!is.null(range)) pal_area(range) else NULL
89-
binned_scale(aesthetics, palette = palette, name = name,
90-
breaks = breaks, labels = labels, limits = limits,
91-
transform = transform, trans = trans, n.breaks = n.breaks,
92-
nice.breaks = nice.breaks, guide = guide)
92+
binned_scale(
93+
aesthetics, palette = palette, name = name,
94+
breaks = breaks, labels = labels, limits = limits,
95+
transform = transform, trans = trans, n.breaks = n.breaks,
96+
nice.breaks = nice.breaks, guide = guide,
97+
fallback.palette = pal_area()
98+
)
9399
}
94100

95101
#' @rdname scale_size
@@ -111,7 +117,11 @@ scale_size_ordinal <- function(name = waiver(), ..., range = NULL, aesthetics =
111117
} else {
112118
NULL
113119
}
114-
discrete_scale(aesthetics, name = name, palette = palette, ...)
120+
discrete_scale(
121+
aesthetics, name = name, palette = palette,
122+
fallback.palette = function(n) sqrt(seq(4, 36, length.out = n)),
123+
...
124+
)
115125
}
116126

117127
#' @inheritDotParams continuous_scale -aesthetics -scale_name -palette -rescaler -expand -position
@@ -141,13 +151,21 @@ scale_size_binned_area <- function(name = waiver(), ..., max_size = 6, aesthetic
141151
#' @usage NULL
142152
scale_size_datetime <- function(name = waiver(), ..., range = NULL, aesthetics = "size") {
143153
palette <- if (!is.null(range)) pal_area(range) else NULL
144-
datetime_scale(aesthetics, "time", name = name, palette = palette, ...)
154+
datetime_scale(
155+
aesthetics, "time", name = name, palette = palette,
156+
fallback.palette = pal_area(),
157+
...
158+
)
145159
}
146160

147161
#' @rdname scale_size
148162
#' @export
149163
#' @usage NULL
150164
scale_size_date <- function(name = waiver(), ..., range = NULL, aesthetics = "size") {
151165
palette <- if (!is.null(range)) pal_area(range) else NULL
152-
datetime_scale(aesthetics, "date", name = name, palette = palette, ...)
166+
datetime_scale(
167+
aesthetics, "date", name = name, palette = palette,
168+
fallback.palette = pal_area(),
169+
...
170+
)
153171
}

0 commit comments

Comments
 (0)