TreeGraph [{v1,v2,…},{u1,u2,…}]
yields a tree where ui is the predecessor of vi.
TreeGraph [{e1,e2,…}]
yields a tree with edges ej.
TreeGraph [{v1,v2,…},{e1,e2,…}]
yields a tree with vertices vi and edges ej.
TreeGraph [{…,wi[vi,…],…},{…,wj[ej,…],…}]
yields a tree with vertex and edge properties defined by the symbolic wrappers wk.
TreeGraph [{vivj,…}]
uses rules vivj to specify a tree.
TreeGraph
TreeGraph [{v1,v2,…},{u1,u2,…}]
yields a tree where ui is the predecessor of vi.
TreeGraph [{e1,e2,…}]
yields a tree with edges ej.
TreeGraph [{v1,v2,…},{e1,e2,…}]
yields a tree with vertices vi and edges ej.
TreeGraph [{…,wi[vi,…],…},{…,wj[ej,…],…}]
yields a tree with vertex and edge properties defined by the symbolic wrappers wk.
TreeGraph [{vivj,…}]
uses rules vivj to specify a tree.
Details and Options
- TreeGraph generates a Graph object.
- TreeGraph supports the same vertices, edges, wrappers, and options as Graph .
- A tree is a simple connected graph with no cycles.
- A tree is a connected graph with no cycles.
- TreeGraph can only represent trees.
-
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
Examples
open all close allBasic Examples (1)
A tree from pairs of children and parents:
A tree from a list of vertices and edges:
Scope (25)
Connectivity (6)
Create an undirected graph using characters; enter the character as ue:
Create a directed graph using characters; enter the character as de:
Create a directed graph from a list of rules:
Create an undirected graph from a list of rules:
Use VertexList and EdgeList to get vertices and edges:
The ordering for edges is the order in which they were entered:
The ordering for vertices is the order in which they were entered in the edges:
Use an explicit vertex list to control the ordering used by VertexList :
The input vertex list controls the resulting vertex order:
Any expression can be used as vertices:
Wrappers (5)
Use wrappers on vertices or edges:
Wrappers can be nested:
Add interactive behavior by wrappers such as Tooltip :
Any object can be used in the tooltip:
Use Button to trigger actions when clicking an edge or vertex:
Use PopupWindow to provide information drilldown:
Styling (8)
Set the style for all vertices or edges:
Style individual vertices or edges using options:
Use wrappers for individual styling:
Adjust the size of vertices using symbolic sizes:
Or use sizes in terms of the smallest distance between vertex centers:
Use built-in collections for VertexShapeFunction :
Rounded shapes:
Concave shapes:
Draw individual vertices:
Combine with a default vertex function:
Use any Graphics , Image , or Graphics3D as a vertex shape:
Use built-in collections for EdgeShapeFunction :
Directed edges including solid arrows:
Line arrows:
Open arrows:
Specify an edge function for an individual edge:
Combine with a different default edge function:
Labeling (6)
Label any edge or vertex:
Use any expression as a label:
Control the placement of vertex labels using Placed , including symbolic inside positions:
Symbolic outside positions:
Coordinate-based positions:
Place multiple labels using Placed in a wrapper:
Any number of labels can be used:
Place multiple labels using VertexLabels :
Use Placed with symbolic locations to control label placement along an edge:
Use explicit coordinates to place labels:
Place multiple labels using Placed in a wrapper:
Any number of labels can be used:
Place multiple labels using EdgeLabels :
Options (82)
AnnotationRules (3)
Specify an annotation for vertices:
Edges:
Graph itself:
DirectedEdges (2)
By default, a directed tree is generated when giving a list of rules:
Use DirectedEdges->False to interpret rules as undirected edges:
Use DirectedEdge or UndirectedEdge to directly specify whether a graph is directed or not:
EdgeLabels (7)
Label the edge 12:
Label all edges:
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 using Placed in a wrapper:
Any number of labels can be used:
Place multiple labels using EdgeLabels :
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 the weight for all edges:
Use any numeric expression as a weight:
GraphHighlight (3)
Highlight the vertex 1:
Highlight the edge 13:
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 using Placed in a wrapper:
Any number of labels can be used:
Place multiple labels using VertexLabels :
Use the argument to 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 sizes 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 (4)
Generate a random tree:
Highlight the GraphCenter and GraphPeriphery :
The VertexEccentricity :
Highlight the vertex eccentricity path:
The GraphRadius :
Highlight the radius path:
The GraphDiameter :
Highlight the diameter path:
Properties & Relations (9)
Use VertexCount and EdgeCount to count vertices and edges:
Use VertexList and EdgeList to enumerate vertices and edges in standard order:
Edges and vertices are given in the order they are input:
Compute the AdjacencyMatrix from a graph:
A tree graph is connected:
A tree graph does not have any loops or cycles:
A tree graph with vertices has edges:
A tree graph is a bipartite graph:
A tree graph with vertices with has at least two and at most vertices of degree 1:
A star graph is a tree graph:
See Also
Graph UndirectedEdge DirectedEdge TreeGraphQ KaryTree CompleteKaryTree StarGraph FindSpanningTree TreePlot PathGraph PlanarGraph TextStructure Groupings
Function Repository: PruferCodeToLabeledTree
Text
Wolfram Research (2010), TreeGraph, Wolfram Language function, https://reference.wolfram.com/language/ref/TreeGraph.html (updated 2015).
CMS
Wolfram Language. 2010. "TreeGraph." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/TreeGraph.html.
APA
Wolfram Language. (2010). TreeGraph. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TreeGraph.html
BibTeX
@misc{reference.wolfram_2025_treegraph, author="Wolfram Research", title="{TreeGraph}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/TreeGraph.html}", note=[Accessed: 05-December-2025]}
BibLaTeX
@online{reference.wolfram_2025_treegraph, organization={Wolfram Research}, title={TreeGraph}, year={2015}, url={https://reference.wolfram.com/language/ref/TreeGraph.html}, note=[Accessed: 05-December-2025]}