From 5fc1ba7457b19570bdd48e3be324106cf047fb38 Mon Sep 17 00:00:00 2001 From: Thomas Lin Pedersen Date: Thu, 11 Jan 2024 09:29:04 +0100 Subject: [PATCH] Fix #227 --- NEWS.md | 2 ++ R/geom_edge.R | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) 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]