autocurve.edges does an amazing job of curving edges in igraph plots so that they don't overlap when they point in the same direction. However, when they point in opposite directions, no curvature is applied.

d <- data.frame(start=c("a","a","b","c"),end=c("b","b","c","b"))


graph <- graph.data.frame(d, directed=T)

plot(graph,
     vertex.color="white")

igraph with superimposed arrows pointing in opposite directions

The issue is for the arrows between b and c (or c and b).

Other than specifying curvature manually, any suggestions?

Edit
Report