diff --git a/NEWS.md b/NEWS.md index 3d949d7b..154afcd6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,6 +2,8 @@ * Fix a precision bug in circle pack layout (#345) * `GeomEdgeTile` now uses `edge_width` instead of `edge_size` for the border +* Fix a bug in `geom_edge_parallel()` when used with edge labels. Edges are now + correctly offset, though label may still overlap (#227) # ggraph 2.1.0 diff --git a/R/geom_edge.R b/R/geom_edge.R index 8f543ad2..f0a0fac9 100644 --- a/R/geom_edge.R +++ b/R/geom_edge.R @@ -223,7 +223,7 @@ GeomEdgeParallelPath <- ggproto('GeomEdgeParallelPath', GeomEdgePath, label_dodge = label_dodge, label_push = label_push) if (inherits(panel, 'gList')) { - panel[[1]]$sep <- (data$.position * sep)[panel[[1]]$id] + panel[[1]]$sep <- (data$.position[!duplicated(data$group)] * sep)[panel[[1]]$id] class(panel[[1]]) <- c('parallelPath', class(panel[[1]])) } else { panel$sep <- (data$.position[!duplicated(data$group)] * sep)[panel$id]