Skip to content

problem with geom_edge_link in linear layout #103

@tgerke

Description

@tgerke

Unexpected edge behavior (including arrows missing their intended nodes) is occurring with geom_edge_link for certain layouts. Here's a MWE using your example from the vignette.

V(simple)$name <- c('Thomas', 'Bob', 'Hadley', 'Winston', 'Baptiste')

# as in the vignette
ggraph(simple, layout = 'graphopt') + 
   geom_edge_link(aes(start_cap = label_rect(node1.name),
                      end_cap = label_rect(node2.name)), 
                  arrow = arrow(length = unit(4, 'mm'))) + 
   geom_node_text(aes(label = name))

# arrows miss the intended nodes under linear layout
ggraph(simple, layout = 'linear') + 
   geom_edge_link(aes(start_cap = label_rect(node1.name),
                      end_cap = label_rect(node2.name)), 
                  arrow = arrow(length = unit(4, 'mm'))) + 
   geom_node_text(aes(label = name))

# works with geom_edge_arc
ggraph(simple, layout = 'linear') + 
   geom_edge_arc(aes(start_cap = label_rect(node1.name),
                      end_cap = label_rect(node2.name)), 
                  arrow = arrow(length = unit(4, 'mm'))) + 
   geom_node_text(aes(label = name))

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions