LayeredGraph

LayeredGraph[g]

creates a graph with vertices and edges from the graph g represented as a layered plot.

LayeredGraph[{e1,e2,}]

creates a graph with edges ej represented as a layered plot.

LayeredGraph[{,w[ei],}]

creates a graph with edges ei with features defined by the symbolic wrapper w.

LayeredGraph[,vpos]

places the dominant vertex v in the plot at position pos.

Details and Options

  • LayeredGraph generates a Graph object and displays it in a notebook as a layered plot of the graph.
  • LayeredGraph supports the same vertices, edges and wrappers as Graph.
  • LayeredGraph by default puts "dominant" vertices at the top and vertices lower in the "hierarchy" progressively further down.
  • LayeredGraph[g,pos] places the dominant vertices at position pos.
  • Possible positions pos are: Top, Bottom, Left, Right.
  • By default, LayeredGraph places each dominant vertex at the top.
  • LayeredGraph has the same options as Graph.

Examples

open allclose all

Basic Examples  (5)

A layered graph:

Create a layered graph specified by edge rules:

Create a layered graph specified by its adjacency matrix:

A layered graph with different orientation from the default:

Specify the root node:

Scope  (9)

Graph Specification  (6)

Specify a graph using a graph:

Create an undirected layered graph using characters; enter the character as ue:

Create a directed layered graph using characters; enter the character as de:

Create a layered graph using a rule list:

Create a layered graph using a dense adjacency matrix:

Create a layered graph using a sparse adjacency matrix:

Graph Styling  (3)

Give labels for some edges:

Give vertex labels:

Create with different orientations:

Options  (75)

AnnotationRules  (3)

Specify an annotation for vertices:

Edges:

Graph itself:

DirectedEdges  (2)

By default, a directed layered graph 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 12:

Highlight vertices and edges:

GraphHighlightStyle  (2)

Get a list of built-in settings for GraphHighlightStyle:

Use built-in settings for GraphHighlightStyle:

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:

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 centers 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  (3)

Set the weight for all vertices:

Specify the weights for individual vertices:

Use any numeric expression as a weight:

Applications  (5)

A food chain:

A chart showing the relationships between shapes:

A flow chart for a computer program:

A visual representation of a straight-line program, used for common subexpression elimination:

The relationships between early versions of the Unix operating system:

Possible Issues  (1)

When vertex coordinates are specified, all edges are shown as straight lines:

If explicit vertex coordinates are not specified, curved edges will be used:

Neat Examples  (1)

Plot isotope decay networks:

Uranium-235:

Polonium-189:

Plutonium-239:

Wolfram Research (2023), LayeredGraph, Wolfram Language function, https://reference.wolfram.com/language/ref/LayeredGraph.html.

Text

Wolfram Research (2023), LayeredGraph, Wolfram Language function, https://reference.wolfram.com/language/ref/LayeredGraph.html.

CMS

Wolfram Language. 2023. "LayeredGraph." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/LayeredGraph.html.

APA

Wolfram Language. (2023). LayeredGraph. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LayeredGraph.html

BibTeX

@misc{reference.wolfram_2024_layeredgraph, author="Wolfram Research", title="{LayeredGraph}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/LayeredGraph.html}", note=[Accessed: 21-April-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_layeredgraph, organization={Wolfram Research}, title={LayeredGraph}, year={2023}, url={https://reference.wolfram.com/language/ref/LayeredGraph.html}, note=[Accessed: 21-April-2024 ]}