| plot.network.ergm {ergm} | R Documentation |
plot.network.ergm produces a simple two-dimensional plot of
the network object x. A variety of options are available
to control vertex placement, display details, color, etc.
The function is based on the
plotting capabilities of the network package with additional
pre-processing of arguments.
Some of the capabilites require the latentnet package.
See plot.network in the network package for details.
## S3 method for class 'ergm'
plot.network(x,
attrname=NULL,
label=network.vertex.names(x),
coord=NULL,
jitter=TRUE,
thresh=0,
usearrows=TRUE,
mode="fruchtermanreingold",
displayisolates=TRUE,
interactive=FALSE,
xlab=NULL,
ylab=NULL,
xlim=NULL,
ylim=NULL,
pad=0.2,
label.pad=0.5,
displaylabels=FALSE,
boxed.labels=TRUE,
label.pos=0,
label.bg="white",
vertex.sides=8,
vertex.rot=0,
arrowhead.cex=1,
label.cex=1,
loop.cex=1,
vertex.cex=1,
edge.col=1,
label.col=1,
vertex.col=2,
label.border=1,
vertex.border=1,
edge.lty=1,
label.lty=NULL,
vertex.lty=1,
edge.lwd=0,
label.lwd=par("lwd"),
edge.len=0.5,
edge.curve=0.1,
edge.steps=50,
loop.steps=20,
object.scale=0.01,
uselen=FALSE,
usecurve=FALSE,
suppress.axes=TRUE,
vertices.last=TRUE,
new=TRUE,
layout.par=NULL,
cex.main=par("cex.main"),
cex.sub=par("cex.sub"),
seed=NULL,
latent.control=list(maxit=500,
trace=0,
dyadsample=10000,
penalty.sigma=c(5,0.5),
nsubsample=200),
colornames="rainbow",
verbose=FALSE,
latent=FALSE,
...)
x |
an object of class |
attrname |
an optional edge attribute, to be used to set edge values. |
label |
a vector of vertex labels, if desired; defaults to the vertex labels returned by |
coord |
user-specified vertex coordinates, in an NCOL(dat)x2 matrix. Where this is specified, it will override the |
jitter |
boolean; should the output be jittered? |
thresh |
real number indicating the lower threshold for tie values. Only ties of value > |
usearrows |
boolean; should arrows (rather than line segments) be used to indicate edges? |
mode |
the vertex placement algorithm; this must correspond to a |
displayisolates |
boolean; should isolates be displayed? |
interactive |
boolean; should interactive adjustment of vertex placement be attempted? |
xlab |
x axis label. |
ylab |
y axis label. |
xlim |
the x limits (min, max) of the plot. |
ylim |
the y limits of the plot. |
pad |
amount to pad the plotting range; useful if labels are being clipped. |
label.pad |
amount to pad label boxes (if |
displaylabels |
boolean; should vertex labels be displayed? |
boxed.labels |
boolean; place vertex labels within boxes? |
label.pos |
position at which labels should be placed, relative to vertices. |
label.bg |
background color for label boxes (if |
vertex.sides |
number of polygon sides for vertices; may be given as a vector or a vertex attribute name, if vertices are to be of different types. |
vertex.rot |
angle of rotation for vertices (in degrees); may be given as a vector or a vertex attribute name, if vertices are to be rotated differently. |
arrowhead.cex |
expansion factor for edge arrowheads. |
label.cex |
character expansion factor for label text. |
loop.cex |
expansion factor for loops; may be given as a vector or a vertex attribute name, if loops are to be of different sizes. |
vertex.cex |
expansion factor for vertices; may be given as a vector or a vertex attribute name, if vertices are to be of different sizes. |
edge.col |
color for edges; may be given as a vector, adjacency matrix, or edge attribute name, if edges are to be of different colors. |
label.col |
color for vertex labels; may be given as a vector or a vertex attribute name, if labels are to be of different colors. |
vertex.col |
color for vertices; may be given as a vector or a vertex attribute name, if vertices are to be of different colors. |
label.border |
label border colors (if |
vertex.border |
border color for vertices; may be given as a vector or a vertex attribute name, if vertex borders are to be of different colors. |
edge.lty |
line type for edge borders; may be given as a vector, adjacency matrix, or edge attribute name, if edge borders are to have different line types. |
label.lty |
line type for label boxes (if |
vertex.lty |
line type for vertex borders; may be given as a vector or a vertex attribute name, if vertex borders are to have different line types. |
edge.lwd |
line width scale for edges; if set greater than 0, edge widths are scaled by |
label.lwd |
line width for label boxes (if |
edge.len |
if |
edge.curve |
if |
edge.steps |
for curved edges (excluding loops), the number of line segments to use for the curve approximation. |
loop.steps |
for loops, the number of line segments to use for the curve approximation. |
object.scale |
base length for plotting objects, as a fraction of the linear scale of the plotting region. Defaults to 0.01. |
uselen |
boolean; should we use |
usecurve |
boolean; should we use |
suppress.axes |
boolean; suppress plotting of axes? |
vertices.last |
boolean; plot vertices after plotting edges? |
new |
boolean; create a new plot? If |
layout.par |
parameters to the |
cex.main |
Character expansion for the plot title. |
cex.sub |
Character expansion for the plot sub-title. |
seed |
Integer for seeding random number generator. See |
latent.control |
A list of parameters to control the |
colornames |
A vector of color names that can be selected by index for
the plot. By default it is |
verbose |
logical; if this is |
latent |
logical; use a two-dimensional latent space model based on the MLE fit. See documentation for |
... |
additional arguments to |
plot.network is a version of the standard network visualization tool
within the sna package. By means of clever selection
of display parameters, a fair amount of display flexibility
can be obtained. Network layout – if not specified directly
using coord – is determined via one of the various
available algorithms. These are (briefly) as follows:
latentPrior: Use a two-dimensional latent space model based on a
Bayesian minimum Kullback-Leibler fit.
See documentation for latent() in ergm.
random: Vertices are placed (uniformly) randomly within a square region about the origin.
circle: Vertices are placed evenly about the unit circle.
circrand: Vertices are placed in a “Gaussian donut,” with distance from the origin following a normal distribution and angle relative to the X axis chosen (uniformly) randomly.
eigen, princoord: Vertices are placed via (the real components of) the first two eigenvectors of:
eigen: the matrix of correlations among (concatenated) rows/columns of the adjacency matrix
princoord: the raw adjacency matrix.
mds, rmds, geodist, adj, seham: Vertices are placed by a metric MDS. The distance matrix used is given by:
mds: absolute row/column differences within the adjacency matrix
rmds: Euclidean distances between rows of the adjacency matrix
geodist: geodesic distances between vertices within the network
adj: (max A)-A, where A is the raw adjacency matrix
seham: structural (dis)equivalence distances
(i.e., as per sedist in the package sna)
based on the Hamming metric
spring, springrepulse: Vertices are placed
using a simple spring embedder. Parameters for the embedding
model are given by embedder.params, in the following
order: vertex mass; equilibrium extension; spring coefficient;
repulsion equilibrium distance; and base coefficient of
friction. Initial vertex positions are in random order around
a circle, and simulation proceeds – increasing the coefficient
of friction by the specified base value per unit time – until
“motion” within the system ceases. If springrepulse
is specified, then an inverse-cube repulsion force between
vertices is also simulated; this force is calibrated so as to
be exactly equal to the force of a unit spring extension at
a distance specified by the repulsion equilibrium distance.
None.
mva
Carter T. Butts buttsc@uci.edu
Wasserman, S., and Faust, K. (1994). “Social Network Analysis: Methods and Applications.” Cambridge: Cambridge University Press.
data(florentine) plot(flomarriage) #Plot the Florentine Marriage data plot(network(10)) #Plot a random network ## Not run: plot(flomarriage,interactive="points")