plot.bgraph {igraph}R Documentation

Plot graphs and their cohesive block hierarchy

Description

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 right.

Usage

## S3 method for class 'bgraph'
plot(x, mc = NULL, vertex.size = 3, colpal = NULL, emph = NULL, ...)

Arguments

x

The bgraph object to be plotted

mc

A numeric vector listing the vertex connectivity of the maximally cohesive subgraph of each vertex. Automatically calculated if NULL (leaving default is usually preferable).

vertex.size

The size of the vertices in the plot. Applies only to the graph, and not to the block-hierarchy tree.

colpal

The color palette to use to distinguish block cohesion. Defaults to rainbow spectrum.

emph

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.igraph for the calculation of the graph (but not the hierarchy).

Details

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.

The emph argument should be a numeric vector corresponding to the indices of blocks in x$blocks and x$block.cohesion (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 tree graph attribute) separately by using plot.igraph.

Author(s)

Peter McMahan peter.mcmahan@gmail.com

See Also

cohesive.blocks for the cohesive blocks computation, graph.cohesion, plot.igraph and igraph.plotting for regular igraph plotting, write.pajek.bgraph.

Examples

## 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:
## Not run: 
plot.bgraph(gBlocks,layout=layout.kamada.kawai)

## End(Not run)

## There are two two-cohesive blocks. To differentiate the block 
## that contains both the three- and four-cohesive sub-blocks use:
## Not run: 
plot(gBlocks,emph=3,layout=layout.kamada.kawai)

## End(Not run)

[Package igraph version 0.5.5-4 Index]