-
See Also
- AdjacencyMatrix
- WeightedAdjacencyGraph
- IncidenceGraph
- KirchhoffGraph
-
- Entity Types
- Graph
-
- Interpreter Types
- Graph
- Related Guides
AdjacencyGraph [amat]
gives the graph with adjacency matrix amat.
AdjacencyGraph [{v1,v2,…},amat]
gives the graph with vertices vi and adjacency matrix amat.
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 symmetricTrue construct a directed graphFalse construct an undirected graph
-
ImageMargins 0. the margins to leave around the graphicPreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic
List of all options
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^(th) column (and, in the case of undirected graphs, the i^(th) 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 all close allBasic Examples (2)
Construct a graph from an adjacency matrix:
A symmetric adjacency matrix results in an undirected graph:
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)
AnnotationRules (3)
Specify an annotation for vertices:
Edges:
Graph itself:
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)
Label the edge 12:
Label all edges individually:
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:
Place multiple labels:
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:
Line arrows:
Open 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 :
EdgeStyle (2)
Style all edges:
Style individual edges:
EdgeWeight (2)
Specify a weight for all edges:
Use any numeric expression as a weight:
GraphHighlight (3)
Highlight the vertex 1:
Highlight the edge 23:
Highlight vertices and edges:
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)
Base Themes (2)
Use a common base theme:
Use a monochrome theme:
Feature Themes (2)
Use a large graph theme:
Use a classic diagram theme:
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 vertex names as labels:
Label individual vertices:
Label all vertices:
Use any expression as a label:
Use Placed with symbolic locations to control label placement, including outside positions:
Symbolic outside corner positions:
Symbolic inside 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:
Place multiple labels:
Any number of labels can be used:
Use the argument Placed to control formatting including Tooltip :
Or StatusArea :
Use more elaborate formatting functions:
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:
Simple basic shapes:
Common basic shapes:
Use built-in settings for VertexShapeFunction in the "Rounded" collection:
Use built-in settings for VertexShapeFunction in the "Concave" collection:
Draw individual vertices:
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)
Style all vertices:
Style individual vertices:
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 :
VertexWeight (2)
Set the weight for all vertices:
Use any numeric expression as a weight:
Applications (2)
Construct a graph from a list of sets s where vertex i represents s〚i〛 and has an edge ij if s〚i〛⊆s〚j〛:
Construct a graph from a list of integers s where ij if s〚i〛 divides s〚j〛 (s〚i〛∣s〚j〛):
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:
See Also
AdjacencyMatrix WeightedAdjacencyGraph IncidenceGraph KirchhoffGraph
Entity Types: Graph
Interpreter Types: Graph
Function Repository: AdjacencyHypergraph
Related Guides
History
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
BibTeX
@misc{reference.wolfram_2025_adjacencygraph, author="Wolfram Research", title="{AdjacencyGraph}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/AdjacencyGraph.html}", note=[Accessed: 17-November-2025]}
BibLaTeX
@online{reference.wolfram_2025_adjacencygraph, organization={Wolfram Research}, title={AdjacencyGraph}, year={2010}, url={https://reference.wolfram.com/language/ref/AdjacencyGraph.html}, note=[Accessed: 17-November-2025]}