Skip to content

Commit d708d8c

Browse files
committed
bump axis number for each trace matching a panel number. fixes #317
1 parent 2650444 commit d708d8c

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

R/ggplotly.R

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -546,13 +546,23 @@ gg2list <- function(p) {
546546
if (p$facet$free$y && panel > 1) {
547547
# draw a y-axis on each panel
548548
yaxis.name <- paste0("yaxis", panel)
549-
trace.list[[i]]$yaxis <- paste0("y", panel)
549+
for (j in seq_along(trace.list)) {
550+
tr <- trace.list[[j]]
551+
if (tr$PANEL == panel) {
552+
trace.list[[j]]$yaxis <- paste0("y", panel)
553+
}
554+
}
550555
yanchor <- if (p$facet$free$x) paste0("x", panel) else paste0("x",col)
551556
}
552557
if (p$facet$free$x && panel > 1) {
553558
# draw an x-axis on each panel
554559
xaxis.name <- paste0("xaxis", panel)
555-
trace.list[[i]]$xaxis <- paste0("x", panel)
560+
for (j in seq_along(trace.list)) {
561+
tr <- trace.list[[j]]
562+
if (tr$PANEL == panel) {
563+
trace.list[[j]]$xaxis <- paste0("x", panel)
564+
}
565+
}
556566
xanchor <- if (p$facet$free$y) paste0("y", panel) else paste0("y",row)
557567
}
558568
}

R/trace_generation.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,10 @@ layer2traces <- function(l, d, misc) {
217217
tr$name <- as.character(name.list[[1]])
218218
}
219219
dpd <- data.params$data
220-
if ("PANEL" %in% names(dpd) && nrow(dpd) > 0)
221-
{
220+
if ("PANEL" %in% names(dpd) && nrow(dpd) > 0) {
222221
tr$xaxis <- paste0("x", dpd[1, "COL"])
223222
tr$yaxis <- paste0("y", dpd[1, "plotly.row"])
223+
tr$PANEL <- dpd[1, "PANEL"]
224224
}
225225

226226
if (is.null(tr$name) || tr$name %in% names.in.legend)

0 commit comments

Comments
 (0)