A function to obtain a libgraph object
This function will read in a
graph object and create a
Ragraph object, returning it for use in other functions. The
graph represented by the
Ragraph can be laidout in various formats.
agopen(graph, name, nodes, edges, kind = NULL, layout = TRUE, layoutType = "dot", attrs = list(), nodeAttrs = list(), edgeAttrs = list(), subGList = list(), edgeMode = edgemode(graph), recipEdges=c("combined", "distinct"))
- An object of class
- A list of
- A list of
- The name of the graph
- The type of graph
- Whether to layout the graph or not
- Defines the layout engine. Defaults to dot, and see
graphvizCapabilities()$layoutTypesfor possible values.
- A list of graphviz attributes
- A list of specific node attributes
- A list of specific edge attributes
- A list describing subgraphs for the graph parameter
- Whether the graph is directed or undirected
- How to handle reciprocated edges, defaults to
graph is from the package
The user can specify either the
graph parameter and/or a
edges. If either of the latter
parameters are not specified then
graph must be passed in, and
is used in the functions
buildEdgeList (as appropriate - if
passed in but
edges is not, only
called) which are default transformer functions to
pEdge lists for layout.
edgeMode argument specifies whether the graph is to be laid
out with directed or undirected edges. This parameter defaults to the
edgemode of the
graph argument - note that if
not passed in then
edgeMode must be supplied.
The kind parameter works as follows:
- Determine the direction of the graph from the
graphobject. This is the default and the recommended method.
- An undirected graph
Strict graphs do not allow self arcs or multi-edges.
layout is set to
TRUE, then the
routines are used to compute the layout locations for the graph.
Otherwise the graph is returned without layout information.
subGList parameter is a list describing any subgraphs,
where each element represents a subgraph and is itself a list with up
to three elements. The first element,
graph is required and
contains the actual
graph object for the subgraph. The second
cluster is a logical value indicating if this is a
cluster or a
subgraph (a value of
a cluster, which is also the default value if this element is not
specified). In Graphviz, subgraphs are more of an organizational
mechanism, whereas clusters are laid out separately from the main
graph and then later inserted. The last element of the list,
attrs is used if there are any attributes for this subgraph.
This is a named vector where the names are the attributes and the
elements are the values for those attributes.
For a description of
edgeAttrs, see the
Ragraph man page.
recipEdges argument can be used to specify how to handle
reciprocal edges. The default value,
combined will combine any
reciprocated edges into a single edge (and if the graph is directed,
will by default place an arrowhead on both ends of the edge), while
the other option is
distinct which will draw to separate
edges. Note that in the case of an undirected graph, every edge of a
graphNEL is going to be reciprocal due to implementation issues.
An object of class
set.seed(123) V <- letters[1:10] M <- 1:4 g1 <- randomGraph(V, M, .2) z <- agopen(g1,name="foo") z z <- agopen(g1,name="foo",layoutType="neato")