TreeElementShapeFunction

TreeElementShapeFunction

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

Details

  • TreeElementShapeFunction allows specifying the function to generate the shape of the root node of a tree, as well as that of any subtree at positions matching a pattern.
  • The following option settings can be used:
  • Automaticuse the automatic shape
    Nonedo not render the node
    "name"a named node shape function »
    funca general node shape function
    Allfuncuse shape function func for all nodes »
    TreeCases[pattern]funcuse func for nodes with data matching pattern »
    "Leaves"funcuse func for leaves »
    "NonLeaves"funcuse func for non-leaves »
    {pos1func1,pos2func2,}use funci for the node at relative position posi »
    {patt1func1,patt2func2,}use funci for nodes at positions matching patti »
  • Subtree element style specifications are effectively applied in the order TreeElementStyle, TreeElementStyleFunction and TreeElementShapeFunction, with later specifications overriding earlier ones.
  • TreeElementShapeFunctionfunc specifies that the root node should be rendered with the primitives provided by func[{x,y},data,{w,h}], where {x,y} is the center, data is the data in the root and {w,h} is the width and height.
  • The subtree element function func should render the subtree element primitives in the bounding box {{x-w,x+w},{y-h,y+h}} automatically computed by layout algorithms.

Examples

open allclose all

Basic Examples  (4)

Generate an individual node shape:

Specify a list of node shape functions:

Do not render nodes:

Specify shape functions for the leaves and for the non-leaves:

Scope  (6)

TreeElementShapeFunction Gallery  (4)

Get a list of built-in collections for VertexShapeFunction:

Use built-in settings for TreeElementShapeFunction in the "Basic" collection:

Simple basic shapes:

Common basic shapes:

Use built-in settings for TreeElementShapeFunction in the "Rounded" collection:

Use built-in settings for TreeElementShapeFunction in the "Concave" collection:

Position Specification  (2)

Specify positions using position patterns:

Specify positions using data patterns:

Properties & Relations  (4)

Shapes for nodes 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 positions {i,j,} that match patt:

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

Possible Issues  (1)

Use Inset to render graphics or an image:

TreeElementShape takes graphics or images used for nodes:

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

Text

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

CMS

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

APA

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

BibTeX

@misc{reference.wolfram_2024_treeelementshapefunction, author="Wolfram Research", title="{TreeElementShapeFunction}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/TreeElementShapeFunction.html}", note=[Accessed: 17-January-2025 ]}

BibLaTeX

@online{reference.wolfram_2024_treeelementshapefunction, organization={Wolfram Research}, title={TreeElementShapeFunction}, year={2022}, url={https://reference.wolfram.com/language/ref/TreeElementShapeFunction.html}, note=[Accessed: 17-January-2025 ]}