Plot graphs and their cohesive block hierarchy
This function plots
bgraph objects as output by
cohesive.blocks. It produces a two-panel plot with the graph
itself on the left and a tree representing the block hierarchy on the
plot.bgraph(x, mc = NULL, vertex.size = 3, colpal = NULL, emph = NULL, ...)
bgraphobject to be plotted
- A numeric vector listing the vertex connectivity of the
maximally cohesive subgraph of each vertex. Automatically calculated
NULL(leaving default is usually preferable).
- The size of the vertices in the plot. Applies only to the graph, and not to the block-hierarchy tree.
- The color palette to use to distinguish block cohesion. Defaults to rainbow spectrum.
- A numeric vector of blocks to emphasize. Useful for distinguishing specific blocks when it is unclear which higher-cohesion vertices belong to which block. (see details)
- Other arguments to be passed on to
plot.igraphfor the calculation of the graph (but not the hierarchy).
Two plots are used to represent the cohesive blocks in a graph visually. The first is a standard plot with vertices colored according to their maximally-cohesive containing block. The second is a tree representing the hierarchical structure of the blocks, with edges representing a strict superset relationship.
emph argument should be a numeric vector corresponding to the
indices of blocks in
(1-based indexing). The vertices of the specified blocks are emphasized
by enlarging them and using a white border.
The intended usage of this function is the quick plotting of a graph
together with its block structure. If you need more flexibility then
please plot the graph and the hierarchy (the
attribute) separately by using
## Create a graph with an interesting structure: g <- graph.disjoint.union(graph.full(4),graph.empty(2,directed=FALSE)) g <- add.edges(g,c(3,4,4,5,4,2)) g <- graph.disjoint.union(g,g,g) g <- add.edges(g,c(0,6,1,7,0,12,4,0,4,1)) ## Find cohesive blocks: gBlocks <- cohesive.blocks(g) ## Plot: plot.bgraph(gBlocks,layout=layout.kamada.kawai) ## There are two two-cohesive blocks. To differentiate the block ## that contains both the three- and four-cohesive sub-blocks use: plot(gBlocks,emph=3,layout=layout.kamada.kawai)