visNetArc: Function to visualise an igraph object via arc diagram

Description Usage Arguments Value Note See Also Examples

View source: R/visNetArc.r

Description

visNetArc is supposed to visualise a graph object of class "igraph" via arc diagram in one-dimensional layout. More precisely, it displays vertices (nodes) along an axis, with edges linked by arcs. With proper ordering of vertices (e.g. according to communities and degrees), arc diagram is able to identify clusters and bridges (as effective as two-dimensional layout). One advantage of using arc diagram is to allow for easy annotations along vertices.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
visNetArc(
g,
orientation = c("vertical", "horizontal"),
newpage = T,
ordering = NULL,
labels = V(g)$name,
vertex.label.color = "black",
vertex.label.cex = 1,
vertex.color = "transparent",
vertex.frame.color = "black",
vertex.size = log(degree(g)) + 0.1,
vertex.pch = 21,
vertex.lwd = 1,
edge.color = "grey",
edge.width = 1,
edge.lty = 1,
...
)

Arguments

g

an object of class "igraph"

orientation

the orientation of the plots. It can be either "vertical" (default) or "horizontal"

newpage

logical to indicate whether to open a new page. By default, it sets to true for opening a new page

ordering

a numeric vector about the ordering of vertices. It is optional. It is highly recommend to order vertices according to communities and degrees

labels

the label of the vertices. The default vertex labels are the name attribute of the nodes

vertex.label.color

the color of vertex labels

vertex.label.cex

the font size of vertex labels

vertex.color

the fill color of the vertices. The default vertex colors are transparent

vertex.frame.color

the color of the frame of the vertices. The default vertex frame colors are black

vertex.size

the size of each vertex. By default, it is decided according to node degrees

vertex.pch

the shape of each vertex. Either an integer specifying a symbol or a single character to be used as the default in plotting points. See http://www.statmethods.net/advgraphs/parameters.html

vertex.lwd

line width for the vertices (default 1)

edge.color

the color of the edges (default "grey")

edge.width

line width for the edges (default 1)

edge.lty

line type for the edges (default 1)

...

additional graphic parameters associated with 'mtext'

Value

invisible

Note

none

See Also

visNet

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 1) generate a random graph according to the ER model
g <- erdos.renyi.game(100, 1/80)

# 2) produce the induced subgraph only based on the nodes in query
g <- dNetInduce(g, V(g), knn=0)

# 3) color nodes according to communities identified via a spin-glass model and simulated annealing
com <- spinglass.community(g, spins=4)
vgroups <- com$membership
palette.name <- visColormap(colormap="rainbow")
vcolors <- palette.name(length(com))[vgroups]

# 4) size nodes according to degrees
vdegrees <- igraph::degree(g)

# 5) sort nodes: first by communities and then degrees
tmp <- data.frame(ind=1:vcount(g), vgroups, vdegrees)
ordering <- tmp[order(vgroups,vdegrees),]$ind

# 6) visualise graph using 1-dimensional arc diagram
visNetArc(g, ordering=ordering, labels=V(g)$name,
vertex.label.color=vcolors,
vertex.color=vcolors, vertex.frame.color=vcolors,
vertex.size=log(vdegrees)+0.1)

# 7) as comparison, also visualise graph on 2-dimensional layout 
visNet(g, colormap="bwr", layout=layout.kamada.kawai(g),
vertex.label=V(g)$name,
vertex.color=vcolors, vertex.frame.color=vcolors,
vertex.shape="sphere")

Example output

Loading required package: igraph

Attaching package: 'igraph'

The following objects are masked from 'package:stats':

    decompose, spectrum

The following object is masked from 'package:base':

    union

Loading required package: supraHex
Loading required package: hexbin
dev.new(): using pdf(file="Rplots1.pdf")

dnet documentation built on Feb. 20, 2020, 3:01 p.m.

Related to visNetArc in dnet...