Skip to content

Commit 7c5a27d

Browse files
committed
allow scale$continuous_limits to overrule expansion limits
1 parent 0807f52 commit 7c5a27d

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

R/scale-expansion.R

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,12 +146,20 @@ expand_limits_scale <- function(scale, expand = expansion(0, 0), limits = waiver
146146
limits <- limits %|W|% scale$get_limits()
147147

148148
if (scale$is_discrete()) {
149+
continuous_limits <- scale$continuous_limits
150+
if (is.function(continuous_limits)) {
151+
continuous_limits <- continuous_limits(limits)
152+
}
153+
if (!is.null(continuous_limits)) {
154+
continuous_limits <- range(continuous_limits)
155+
check_numeric(continuous_limits, call = scale$call, arg = "continuous.limits")
156+
}
149157
coord_limits <- coord_limits %||% c(NA_real_, NA_real_)
150158
expand_limits_discrete(
151-
scale$map(limits),
159+
continuous_limits %||% scale$map(limits),
152160
expand,
153161
coord_limits,
154-
range_continuous = scale$range_c$range
162+
range_continuous = continuous_limits %||% scale$range_c$range
155163
)
156164
} else {
157165
# using the inverse transform to resolve the NA value is needed for date/datetime/time

0 commit comments

Comments
 (0)