Skip to content

Commit 3074d3c

Browse files
committed
alleviate wrangling label expressions
1 parent 4d85780 commit 3074d3c

File tree

4 files changed

+5
-20
lines changed

4 files changed

+5
-20
lines changed

R/guide-.R

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,13 +225,8 @@ Guide <- ggproto(
225225

226226
mapped <- scale$map(breaks)
227227
labels <- scale$get_labels(breaks)
228-
# {vctrs} doesn't play nice with expressions, convert to list.
229-
# see also https://github.com/r-lib/vctrs/issues/559
230-
if (is.expression(labels)) {
231-
labels <- as.list(labels)
232-
}
233228

234-
key <- data_frame(mapped, .name_repair = ~ aesthetic)
229+
key <- data_frame(!!aesthetic := mapped)
235230
key$.value <- breaks
236231
key$.label <- labels
237232

R/guide-axis-theta.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ GuideAxisTheta <- ggproto(
110110
# labels of these positions
111111
ends_apart <- (key$theta[n] - key$theta[1]) %% (2 * pi)
112112
if (n > 0 && ends_apart < 0.05 && !is.null(key$.label)) {
113-
if (is.expression(key$.label)) {
113+
if (is.expression(key$.label[[1]])) {
114114
combined <- substitute(
115115
paste(a, "/", b),
116116
list(a = key$.label[[1]], b = key$.label[[n]])

R/guide-bins.R

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,6 @@ GuideBins <- ggproto(
176176
} else {
177177
key$.show[nrow(key)] <- TRUE
178178
}
179-
if (is.expression(labels)) {
180-
labels <- as.list(labels)
181-
}
182179

183180
key$.label <- labels
184181
key <- vec_slice(key, !is.na(oob_censor_any(key$.value)))

R/guide-colorsteps.R

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,9 @@ GuideColoursteps <- ggproto(
111111
breaks <- parsed$breaks
112112

113113
key <- data_frame0(!!aesthetic := scale$map(breaks))
114-
if (even.steps) {
115-
key$.value <- seq_along(breaks)
116-
} else {
117-
key$.value <- breaks
118-
}
119-
labels <- scale$get_labels(breaks)
120-
if (is.expression(labels)) {
121-
labels <- as.list(labels)
122-
}
123-
key$.label <- labels
114+
fmt <- if (even.steps) seq_along else identity
115+
key$.value <- fmt(breaks)
116+
key$.label <- scale$get_labels(breaks)
124117

125118
if (breaks[1] %in% limits) {
126119
key$.value <- key$.value - 1L

0 commit comments

Comments
 (0)