AdjacencyGraph
AdjacencyGraph[amat]
gives the graph with adjacency matrix amat.
AdjacencyGraph[{v1,v2,…},amat]
gives the graph with vertices vi and adjacency matrix amat.
Details and Options

- AdjacencyGraph[amat] is equivalent to AdjacencyGraph[{1,2,…,n},amat], where amat has dimensions
×
.
- AdjacencyGraph takes the same options as Graph.
- The option DirectedEdges can be used to control whether an undirected or directed graph is constructed.
- The following settings for DirectedEdges can be used in AdjacencyGraph:
-
Automatic undirected graph if amat is symmetric True construct a directed graph False construct an undirected graph
Background & Context
- AdjacencyGraph constructs a graph from an adjacency matrix representation of an undirected or directed graph. An adjacency matrix is a square matrix whose rows and columns correspond to the vertices of a graph and whose elements aij are non-negative integers that give the numbers of (directed) edges from vertex vi to vertex vj. Adjacency matrices with diagonal entries create self-loops.
- The option DirectedEdges (with possible values Automatic, True, or False) may be used to control whether an undirected or directed graph is constructed. By default, AdjacencyGraph returns an undirected graph if the input matrix is symmetric and a directed graph otherwise.
- AdjacencyGraph takes the same options as Graph (e.g. EdgeStyle, VertexStyle, EdgeLabels, VertexLabels, GraphLayout, VertexCoordinates, etc.). AdjacencyGraph does not take graph weights into account, so WeightedAdjacencyGraph must be used when constructing a graph from a weighted adjacency matrix.
- AdjacencyList returns a list of vertices adjacent to a given vertex vi and therefore corresponds to a list of the positions of nonzero elements in the i
column (and, in the case of undirected graphs, the i
row) of the adjacency matrix. The entire adjacency matrix of any graph (including a graph constructed using AdjacencyGraph) may be returned using AdjacencyMatrix. IncidenceGraph uses an incidence matrix representation instead of an adjacency matrix to construct a graph.
Examples
open allclose allBasic Examples (2)
Scope (7)
Symmetric matrices are interpreted as undirected graphs:
Unsymmetric matrices are interpreted as directed graphs:
Use DirectedEdges to construct a directed graph from a symmetric matrix:
Matrices with diagonal entries create self-loops:
Use a SparseArray object to specify the adjacency matrix:
By default, the vertices are taken to be the integers 1 through :
Use an explicit vertex list to give vertex names:
AdjacencyGraph works with large matrices:
Options (83)
DirectedEdges (3)
By default, a symmetric matrix generates an undirected graph:
Use DirectedEdges->True to generate a directed graph:
By default, a nonsymmetric matrix generates a directed graph:
EdgeLabels (7)
Use any expression as a label:
Use Placed with symbolic locations to control label placement along an edge:
Use explicit coordinates to place labels:
Vary positions within the label:
Use automatic labeling by values through Tooltip and StatusArea:
EdgeShapeFunction (6)
Get a list of built-in settings for EdgeShapeFunction:
Undirected edges including the basic line:
Lines with different glyphs on the edges:
Directed edges including solid arrows:
Specify an edge function for an individual edge:
Combine with a different default edge function:
Draw edges by running a program:
EdgeShapeFunction can be combined with EdgeStyle:
EdgeShapeFunction has higher priority than EdgeStyle:
GraphHighlightStyle (2)
Get a list of built-in settings for GraphHighlightStyle:
Use built-in settings for GraphHighlightStyle:
GraphLayout (5)
By default, the layout is chosen automatically:
Specify layouts on special curves:
Specify layouts that satisfy optimality criteria:
VertexCoordinates overrides GraphLayout coordinates:
Use AbsoluteOptions to extract VertexCoordinates computed using a layout algorithm:
PlotTheme (4)
VertexCoordinates (3)
By default, any vertex coordinates are computed automatically:
Extract the resulting vertex coordinates using AbsoluteOptions:
Specify a layout function along an ellipse:
Use it to generate vertex coordinates for a graph:
VertexCoordinates has higher priority than GraphLayout:
VertexLabels (13)
Use any expression as a label:
Use Placed with symbolic locations to control label placement, including outside positions:
Symbolic outside corner positions:
Symbolic inside corner positions:
Use explicit coordinates to place the center of labels:
Place all labels at the upper-right corner of the vertex and vary the coordinates within the label:
Any number of labels can be used:
Use the argument Placed to control formatting including Tooltip:
Or StatusArea:
VertexShape (5)
Use any Graphics, Image, or Graphics3D as a vertex shape:
Specify vertex shapes for individual vertices:
VertexShape can be combined with VertexSize:
VertexShape is not affected by VertexStyle:
VertexShapeFunction has higher priority than VertexShape:
VertexShapeFunction (10)
Get a list of built-in collections for VertexShapeFunction:
Use built-in settings for VertexShapeFunction in the "Basic" collection:
Use built-in settings for VertexShapeFunction in the "Rounded" collection:
Use built-in settings for VertexShapeFunction in the "Concave" collection:
Combine with a default vertex function:
Draw vertices using a predefined graphic:
Draw vertices by running a program:
VertexShapeFunction can be combined with VertexStyle:
VertexShapeFunction has higher priority than VertexStyle:
VertexShapeFunction can be combined with VertexSize:
VertexShapeFunction has higher priority than VertexShape:
VertexSize (8)
By default, the size of vertices is computed automatically:
Specify the size of all vertices using symbolic vertex size:
Use a fraction of the minimum distance between vertex coordinates:
Use a fraction of the overall diagonal for all vertex coordinates:
Specify size in both the and
directions:
Specify the size for individual vertices:
VertexSize can be combined with VertexShapeFunction:
VertexSize can be combined with VertexShape:
VertexStyle (5)
VertexShapeFunction can be combined with VertexStyle:
VertexShapeFunction has higher priority than VertexStyle:
VertexStyle can be combined with BaseStyle:
VertexStyle has higher priority than BaseStyle:
VertexShape is not affected by VertexStyle:
Applications (2)
Properties & Relations (6)
Use VertexCount and EdgeCount to count vertices and edges:
Use VertexList and EdgeList to enumerate vertices and edges in standard order:
Compute the AdjacencyMatrix from a graph:
A graph can be reconstructed from its adjacency matrix:
An adjacency matrix with all zero entries in the diagonal constructs a graph without self-loops:
Every 1 in the diagonal indicates self-loops:
An adjacency matrix whose entries outside the diagonal are all 1s constructs a complete graph:
Text
Wolfram Research (2010), AdjacencyGraph, Wolfram Language function, https://reference.wolfram.com/language/ref/AdjacencyGraph.html.
CMS
Wolfram Language. 2010. "AdjacencyGraph." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/AdjacencyGraph.html.
APA
Wolfram Language. (2010). AdjacencyGraph. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AdjacencyGraph.html