Skip to content

Commit f1dbd95

Browse files
committed
fix trace processing if number of subplots >= 10
1 parent ae6b073 commit f1dbd95

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

R/layers2traces.R

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,18 @@ layers2traces <- function(data, prestats_data, layout, p) {
5757
# if so, set name/legendgroup/showlegend
5858
isDiscrete <- names(d) %in% paste0(names(discreteScales), "_plotlyDomain")
5959
if (length(trs) > 1 && sum(isDiscrete) >= 1) {
60-
nms <- names(trs)
60+
nms <- strsplit(names(trs), "@%&", fixed = TRUE)
6161
# ignore "non-discrete" scales that we've split on
62-
for (w in seq_len(sum(names(d) %in% c("PANEL", split_on(d))))) {
63-
nms <- sub("^[^@%&]@%&", "", nms)
64-
}
65-
nms <- strsplit(nms, "@%&")
62+
n_ignore <- sum(names(d) %in% c("PANEL", split_on(d)))
6663
nms <- vapply(nms, function(x) {
67-
if (length(x) > 1) paste0("(", paste0(x, collapse = ","), ")") else x
64+
n_x <- length(x)
65+
if (n_x > n_ignore + 1) {
66+
paste0("(", paste0(x[(n_ignore+1):n_x], collapse = ","), ")")
67+
} else if (n_x > n_ignore) {
68+
x[[n_ignore+1]]
69+
} else {
70+
NA
71+
}
6872
}, character(1))
6973
trs <- Map(function(x, y) {
7074
x$name <- y

0 commit comments

Comments
 (0)