JSON syntax: Layout options
These options determine the layout of hierarchical diagrams.
- Flow / Context
- Hierarchy left - right
- Hierarchy top - down
- Hierarchy bottom - up
"layoutOptions": { "compactGroups": false, "componentArrangementPolicy": "topmost", "edgeBends": true, "edgeBundling": true, "edgeToEdgeDistance": 5, "minimumLayerDistance": "auto", "nodeToEdgeDistance": 5, "orthogonalRouting": true, "preciseNodeHeightCalculation": true, "recursiveGroupLayering": true, "separateLayers": true, "webWorkers": true, "nodePlacer": { "barycenterMode": "auto", "breakLongSegments": "auto", "groupCompactionStrategy": "none", "nodeCompaction": "auto", "straightenEdges": "auto" } }
JSON syntax with all default values | Description | ||
---|---|---|---|
"compactGroups": true // false
|
Group compaction reduces the number of node layers without reversing edge directions. The resulting layering tries to keep the layer span of a boxing node at a minimum, while minimizing the overall vertical space. You can choose one of the following values:
Note
|
||
"componentArrangementPolicy": "topmost" // "compact"
|
Choose how to arrange boxed nodes that are not connected by the arrow edge with other nodes. This is only applicable to boxed and boxing edges. You can choose one of the following values:
Note
|
||
"edgeBends": true // false
|
Choose whether edges can be curved and can contain bends. Warning When this option is false, the You can choose one of the following values:
Note
|
||
"edgeBundling": true // false
|
Choose whether arrow edges can be bundled at the source or target node when they represent the same incoming or outgoing relation. Note Only one edge label is displayed for a bundled edge. You can choose one of the following values:
Note
|
||
"edgeToEdgeDistance": 5 // "auto"
|
Set the minimum distance (in pixels) between two adjacent edges in one layer. This affects the horizontal distance if the diagram layout is:
This affects the vertical distance if the diagram layout is:
You can choose one of the following values:
Note
|
||
"minimumLayerDistance": 5 // "auto"
|
Set the minimum distance (in pixels) between two adjacent layers. This affects the horizontal distance if the diagram layout is:
This affects the vertical distance if the diagram layout is:
You can choose one of the following values:
Note
|
||
"nodeToEdgeDistance": 5 // "auto"
|
Set the minimum distance (in pixels) between an edge and an adjacent node in the same layer. This affects the horizontal distance if the diagram layout is:
This affects the vertical distance if the diagram layout is:
You can choose one of the following values:
Note
|
||
"orthogonalRouting": true // false
|
Choose whether or not edges can be routed orthogonally. You can choose one of the following values:
Note
|
||
"preciseNodeHeightCalculation": true // false
|
Determines the precision with which node heights are rendered to visually accommodate diagram text.
Note
|
||
"recursiveGroupLayering": true // false
|
Choose whether boxing edges are respected during layering. This option is ignored when the diagram does not contain boxing nodes. Warning Enabling this option may change the diagram flow. Some arrow edges may go in the opposite direction. Otherwise occupying only adjacent layers by boxing nodes wouldn’t be possible in some cases. You can choose one of the following values:
Note
|
||
"separateLayers": true // false
|
Strictly separate nodes of different layers. In other words, nodes are placed below each other. This prevents big nodes from extending into an adjacent layer. You can choose one of the following values:
Note
|
||
"webWorkers": true // false
|
Choose whether big diagrams should be built in the background thread. You can choose one of the following values:
Note
|
||
"nodeplacer"
|
Use additional options for placing the nodes. |
||
|
Choose whether the diagram should be as symmetric as possible. This may result in more edge bends. You can choose one of the following values:
Note
|
||
|
Choose whether the diagram should break long arrow edges in favor of a more compact layout. You can choose one of the following values:
Note
|
||
|
Choose the strategy for controlling the horizontal compactness of boxing nodes. You can choose one of the following values:
Note
|
||
|
Choose whether to reduce the height of the diagram as much as possible. This places the nodes of a layer in a stacked style (horizontally interleaving), which reduces the width of the layer. You can choose one of the following values:
Note
|
||
|
Apply a post-processing step to reduce edge bends. You can choose one of the following values:
Warning This may violate some minimum distances specified by the user and the edge distribution may no longer be uniform. Note
|