NestGraph
NestGraph[f,expr,n]
gives the graph obtained by starting with expr and applying f successively n times.
NestGraph[f,{expr1,expr2,…},n]
gives the graph obtained by applying f to expr1, expr2, ….
NestGraph[f,graph,n]
gives the graph obtained by applying f to the vertices of graph and extending the graph.
Details and Options

- NestGraph is also known as crawl graph or tree growing.
- expr can be an expression or a list of expressions or graphs.
- NestGraph[f,expr] is equivalent to NestGraph[f,expr,1].
- NestGraph[f,expr] gives a graph with edges {exprexpr1,…,exprexprk}, where f[expr] evaluates to {expr1,…,exprk}.
- NestGraph[f,{expr1,expr2,…}] is the graph union of NestGraph[f,expr1] and NestGraph[f,expr2],….
- NestGraph[f,graph] is the union of graph and NestGraph[f,{v1,…}], where vi are the vertices of graph.
- NestGraph[f,graph,n] is the union of NestGraph[f,graph,n-1] and NestGraph[f,{v1,…}], where vi are the vertices of NestGraph[f,graph,n-1].
- NestGraph[f,expr,n] is equivalent to NestGraph[f,graph,n], where graph is the singleton graph with only one vertex expr and no edges.
- NestGraph takes the same options as Graph.
- The option DirectedEdges can be used to control whether an undirected or directed graph is constructed.
Examples
open allclose allBasic Examples (4)
Scope (3)
Options (80)
DirectedEdges (1)
By default, a directed graph is generated:
Use DirectedEdges->False to generate an undirected 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 has higher priority than 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 (5)
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:
NeighborhoodGraph can be found by using NestGraph:
Neat Examples (1)
Text
Wolfram Research (2015), NestGraph, Wolfram Language function, https://reference.wolfram.com/language/ref/NestGraph.html.
CMS
Wolfram Language. 2015. "NestGraph." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/NestGraph.html.
APA
Wolfram Language. (2015). NestGraph. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NestGraph.html