Plots a subgraph for a specified starting node and a given graph. The subgraph consists of those nodes that can be reached from the starting node by passing no more than a specified number of edges.
plotSG(graphObj, y, dist, amat = NA, directed = TRUE, main = )
An R object of class graph
.
(integer) position of the starting node in the adjacency matrix.
Distance of nodes included in subgraph from starting node y
.
Precomputed adjacency matrix of type amat.cpdag (optional)
logical
indicating if the subgraph
should be directed.
Title to be used, with a sensible default; see title
.
the desired subgraph is plotted and returned via
invisible
.
Commencing at the starting point y
the function looks for the
neighbouring nodes. Beginning with direct parents and children it
will continue hierarchically through the distances to y
. If
directed
is true (as per default), the orientation of the edges
is taken from the initial graph.
The package Rgraphviz must be installed, and is used for the plotting.
# NOT RUN {
if (require(Rgraphviz)) {
## generate a random DAG:
p <- 10
set.seed(45)
myDAG <- randomDAG(p, prob = 0.3)
## plot whole the DAG
plot(myDAG, main = "randomDAG(10, prob = 0.3)")
op <- par(mfrow = c(3,2))
## plot the neighbours of node number 8 up to distance 1
plotSG(myDAG, 8, 1, directed = TRUE)
plotSG(myDAG, 8, 1, directed = FALSE)
## plot the neighbours of node number 8 up to distance 2
plotSG(myDAG, 8, 2, directed = TRUE)
plotSG(myDAG, 8, 2, directed = FALSE)
## plot the neighbours of node number 8 up to distance 3
plotSG(myDAG, 8, 3, directed = TRUE)
plotSG(myDAG, 8, 3, directed = FALSE)
## Note that the layout of the subgraph might be different than in the
## original graph, but the graph structure is identical
par(op)
}
# }
# NOT RUN {
<!-- % only when Rgraphviz is present -->
# }
Run the code above in your browser using DataLab