FIRSTfor the two nodes you mentioned: https://www.eclipse.org/elk/reference/options/org-eclipse-elk-layered-layering-layerconstraint.html
FIRSTmight be a nice solution but my question is if there is a solution to the whole tree. I mean generic option to set on whole tree object because with
FIRSTI need to add some condition before the tree is generated and check each node with it and after that add to proper node this
FIRSTis working great but now I have another challenge. I am using
mergeEdgesand still have 4 connections instead of one. I marked nodes to which node on top is connected. Is there any option that will resolve my issue?
'elk.algorithm': 'layered', 'elk.direction': 'DOWN', 'elk.hierarchyHandling': 'INCLUDE_CHILDREN', 'elk.layered.mergeEdges': true, 'elk.layered.spacing.edgeNodeBetweenLayers': 40, 'elk.layered.crossingMinimization.semiInteractive': true, 'elk.layered.nodePlacement.bk.fixedAlignment': 'BALANCED'
loggingsection but I am not sure if it is helpful.
Hello. I need a graph laid out in ther following way:
Exactly one graph node 'G'
Arbitrary amount of subgraph nodes 'SGx' which are arranged tree-like below the graph node 'G'
A sequence of 'T' nodes and forks ('F')/merges ('M') laid out from left to right.
'T' nodes can only be connected to other 'T' nodes or forks/merges with no more than one edge.
Forks have exactly 2 outgoing edges to other forks or 'T' nodes
'D' nodes which are connected to the 'T' nodes.
Every node except 'G' is connected to 'G' or 'SG' nodes with exactly one edge.
You can find an example graph here:
Is this achievable in some way with the algorithms built in in ELK?
I thought about putting the nodes of each 'level' into their own child node (which is not connected to anything by edges) and let the first level be layouted by "ELK Mr. Tree" and the second level by "ELK Layered".
But what would I use for the root node and the third level to stitch everything together with the needed edges? Is this kind of layout possible with the layout algorithms given by ELK? Or would I be better off implementing my own?
The order is not kept during the layout (element3 is located in first). I see no reason for that.
Question 1: Is there an explanation?
Question 2: Is there a way to keep the order?
Question 3: Is it a bug?
The example can be test here:
I think there is a problem with the scope of Node Label Padding. When this option is added to a node, it is not applied to the labels of this node but to the labels of the children of this node. Is it expected? I think not. And as said in the documentation: "Define padding for node labels that are placed inside of a node."
Here is an example:
'elk.layered.layering.layerConstraint': 'FIRST'and then you will have multiple edges instead of one. Even though you used
'elk.hypernode': truehelps but it is messing around with too many nodes to use it.