I would like to do a network graph in R using ggraph where an an edge relationship goes both ways A -> B and B -> A. I would like top plot this with ggraph as a single bi-directional arrow? A solution on ggraph's Github issue is to use arrow(ends="both"), but this will plot two bi-directional arrows, while I want a single bi-directional arrow?
Is this possible with ggraph? Or maybe I should specify my underlying graph differently?
library(tidygraph)
library(ggraph)
#> Loading required package: ggplot2
df <- data.frame(form=c(2,1,3), to = c(1,2,1)) |>
as_tbl_graph()
df |>
ggraph(layout = 'kk') +
geom_node_point() +
geom_edge_link(arrow = arrow(ends="last"),
end_cap = circle(8, 'mm'),
start_cap = circle(3, 'mm'))

Created on 2023-06-06 with reprex v2.0.2
If you set the cap
circle()-size to the same value for start and end it will appear like one edge with arrows on both sides. Alternatively you can useigraph::plot().