is an option for Tree and related functions that specifies a function to use to generate primitives for rendering edges.


  • ParentEdgeShapeFunction allows specifying the function to generate the shape of the parent edge of the root node of a tree, as well as that of any subtrees at positions matching a pattern.
  • The following option settings can be used:
  • Automaticuse the automatic setting for shape function
    Nonedo not render the edge
    "name"a named edge shape function
    funca general edge shape function
    {pos1func1,pos2func2,}use edge shape function funci at position posi
    {patt1func1,patt2func2,}use funci at positions matching the pattern patti
  • Edge style specifications are effectively applied in the order ParentEdgeStyle, ParentEdgeStyleFunction and ParentEdgeShapeFunction, with later specifications overriding the earlier ones.
  • ParentEdgeShapeFunctionfunc specifies that the parent edge of the root node should be rendered with the primitives provided by func[{{x1,y1},{x2,y2}},data], where {{x1,y1},{x2,y2}} is a line segment and data is the data in the root.
  • In ParentEdgeShapeFunction, Allfunc uses func for all subtrees.
  • In ParentEdgeShapeFunction, TreeCases[pattern]func uses func for all subtrees with data matching pattern.


open allclose all

Basic Examples  (4)

Specify an individual edge shape function:

Specify all edge shape functions:

Use the same shape function for all edges:

Specify positions using position patterns:

Specify positions using data patterns:

Scope  (3)

ParentEdgeShapeFunction Gallery  (3)

Get a list of built-in settings for EdgeShapeFunction:

Basic line:

Lines with different glyphs on the edges:

Directed edges including solid arrows:

Line arrows:

Open arrows:

Properties & Relations  (4)

Shapes for edges can be specified by position:

Shapes specified by a subtree take precedence over shapes specified by its ancestors:

A position {i,j,} in a subtree refers to its subtree at relative position {i,j,}:

A relative position {2} at position {1} refers to the global position {1,2}:

In general, a pattern patt applies to subtrees at global position {i,j,} that match patt:

A list of patterns {patt1,patt2,} applies to relative positions {i,j,} that match patti:

Wolfram Research (2022), ParentEdgeShapeFunction, Wolfram Language function,


Wolfram Research (2022), ParentEdgeShapeFunction, Wolfram Language function,


Wolfram Language. 2022. "ParentEdgeShapeFunction." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2022). ParentEdgeShapeFunction. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_parentedgeshapefunction, author="Wolfram Research", title="{ParentEdgeShapeFunction}", year="2022", howpublished="\url{}", note=[Accessed: 20-June-2024 ]}


@online{reference.wolfram_2024_parentedgeshapefunction, organization={Wolfram Research}, title={ParentEdgeShapeFunction}, year={2022}, url={}, note=[Accessed: 20-June-2024 ]}