Vertex Layout Functions for gplot

Various functions which generate vertex layouts for the gplot visualization routine.

graphs, dplot
gplot.layout.adj(d, layout.par), layout.par) gplot.layout.circrand(d, layout.par) gplot.layout.eigen(d, layout.par) gplot.layout.fruchtermanreingold(d, layout.par) gplot.layout.geodist(d, layout.par) gplot.layout.hall(d, layout.par) gplot.layout.kamadakawai(d, layout.par) gplot.layout.mds(d, layout.par) gplot.layout.princoord(d, layout.par) gplot.layout.random(d, layout.par) gplot.layout.rmds(d, layout.par) gplot.layout.segeo(d, layout.par) gplot.layout.seham(d, layout.par) gplot.layout.spring(d, layout.par) gplot.layout.springrepulse(d, layout.par), layout.par)
an adjacency matrix, as passed by gplot.
a list of parameters.

Vertex layouts for network visualization pose a difficult problem -- there is no single, ``good'' layout algorithm, and many different approaches may be valuable under different circumstances. With this in mind, gplot allows for the use of arbitrary vertex layout algorithms via the gplot.layout.* family of routines. When called, gplot searches for a gplot.layout function whose third name matches its mode argument (see gplot help for more information); this function is then used to generate the layout for the resulting plot. In addition to the routines documented here, users may add their own layout functions as needed. The requirements for a gplot.layout function are as follows:

  1. the first argument, d, must be the (dichotomous) graph adjacency matrix;
  2. the second argument, layout.par, must be a list of parameters (or NULL, if no parameters are specified); and
  3. the return value must be a real matrix of dimension c(2,NROW(d)), whose rows contain the vertex coordinates.

Other than this, anything goes. (In particular, note that layout.par could be used to pass additional matrices, if needed.) The graph.layout functions currently supplied by default are as follows:


A matrix whose rows contain the x,y coordinates of the vertices of d.


Brandes, U.; Kenis, P.; and Wagner, D. (2003). ``Communicating Centrality in Policy Network Drawings.'' IEEE Transactions on Visualization and Computer Graphics, 9(2):241-253.

Fruchterman, T.M.J. and Reingold, E.M. (1991). ``Graph Drawing by Force-directed Placement.'' Software - Practice and Experience, 21(11):1129-1164.

Kamada, T. and Kawai, S. (1989). ``An Algorithm for Drawing General Undirected Graphs.'' Information Processing Letters, 31(1):7-15.

See Also

gplot,, gplot3d.layout, cmdscale, eigen

  • gplot.layout
  • gplot.layout.adj
  • gplot.layout.circrand
  • gplot.layout.eigen
  • gplot.layout.fruchtermanreingold
  • gplot.layout.geodist
  • gplot.layout.hall
  • gplot.layout.kamadakawai
  • gplot.layout.mds
  • gplot.layout.princoord
  • gplot.layout.random
  • gplot.layout.rmds
  • gplot.layout.segeo
  • gplot.layout.seham
  • gplot.layout.spring
  • gplot.layout.springrepulse
Documentation reproduced from package sna, version 2.4, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.