get_edges {ggraph} | R Documentation |
Create edge extractor function
Description
This function returns another function that can extract edges from a
ggraph_layout object. The functionality of the returned function is decided
by the arguments to get_edges
. The need for get_edges
is mainly to
pass to the data
argument of the different geom_edge_*
functions in order to present them with the right kind of data. In general
each geom_edge_*
has the default set correctly so there is only need
to modify the data argument if parallel edges should be collapsed.
Usage
get_edges(format = "short", collapse = "none", ...)
get_sf_edges()
Arguments
format |
Either |
collapse |
Either |
... |
Additional data that will be cbind'ed together with the returned edge data. Accepts expressions that will be evaluated on the edge data |
Details
There are two types of return formats possible for the result of the returned function:
- short
In this format each edge is described in one line in the format expected for
ggplot2::geom_segment()
, that is, the start node position is encoded in thex
andy
column and the end node position is encoded in thexend
andyend
column. If node parameters are added to the edge the name of the parameters will be prefixed withnode1.
for the start node andnode2.
for the end node.- long
In this format each edge consists of two rows with matching
edge.id
value. The start and end position are both encoded in thex
andy
column. The relative position of the rows determines which is the start and end node, the first occurring being the start node. If node parameters are added to the edge data the name of the parameters will be prefixed withnode.
.
Node parameters are automatically added so it is possible to format edge aesthetics according to start or end node parameters, or interpolate edge aesthetics between start and end node parameters. Node parameters will be prefixed to avoid name clash with edge parameters. The prefix depends on the format (see above).
If the graph is not simple (it contains at most one edge between each node pair) it can be collapsed so either all edges between two nodes or all edges of the same direction between two nodes are merged. The edge parameters are taken from the first occurring edge, so if some more sophisticated summary is needed it is suggested that the graph be tidied up before plotting with ggraph.
Value
A data.frame with columns dependent on format as well as the graph
type. In addition to the columns discussed in the details section,
the data.frame will always contain the columns from
, to
and
circular
, the two former giving the indexes of the start and end node
and the latter if the layout is circular (needed for correct formatting of
some geom_edge_*
). The graph dependent information is:
- dendrogram
A
label
column will hold the value of theedgetext
attribute. In addition any value stored in theedgePar
attribute will be added. Lastly adirection
column will hold the relative position between the start and end nodes (needed for correct formatting ofgeom_edge_elbow()
).- igraph
All edge attributes of the original graph object is added as columns to the data.frame
See Also
Other extractors:
get_con()
,
get_sf_nodes()