Skip to content

Commit 85762f8

Browse files
committed
protect theta guide better against empty keys
1 parent 74e6960 commit 85762f8

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

R/guide-axis-theta.R

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,22 +63,26 @@ GuideAxisTheta <- ggproto(
6363

6464
transform = function(params, coord, panel_params) {
6565

66-
opposite_var <- setdiff(c("x", "y"), params$aesthetic)
67-
opposite_value <- switch(params$position, top = , right = , theta.sec = -Inf, Inf)
68-
if (is.unsorted(panel_params$inner_radius %||% NA)) {
69-
opposite_value <- -opposite_value
70-
}
71-
if (nrow(params$key) > 0) {
72-
params$key[[opposite_var]] <- opposite_value
73-
}
74-
if (nrow(params$decor) > 0) {
75-
params$decor[[opposite_var]] <- opposite_value
66+
position <- params$position
67+
68+
if (!is.null(position)) {
69+
opposite_var <- setdiff(c("x", "y"), params$aesthetic)
70+
opposite_value <- switch(position, top = , right = , theta.sec = -Inf, Inf)
71+
if (is.unsorted(panel_params$inner_radius %||% NA)) {
72+
opposite_value <- -opposite_value
73+
}
74+
if (nrow(params$key) > 0) {
75+
params$key[[opposite_var]] <- opposite_value
76+
}
77+
if (nrow(params$decor) > 0) {
78+
params$decor[[opposite_var]] <- opposite_value
79+
}
7680
}
7781

7882
params <- GuideAxis$transform(params, coord, panel_params)
7983

8084
key <- params$key
81-
n <- nrow(key)
85+
n <- vec_size(key)
8286
if (n < 1) {
8387
return(params)
8488
}

0 commit comments

Comments
 (0)