-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Edge labels create additional node layers and inconsistent spacing between node layers #1092
Comments
Another idea: maybe instead of putting edge labels in half-layers, logic would be easier if node layers were determined and then doubled, with edge labels then able to fit in between. |
Hi, if I remember correctly, the network simplex layerer aims to somehow balance the position of nodes, which may be undesired in your case. I mark your label layers idea as a feature request since it might be benefitial to have more specialized layers or intermediate processes which might add the labels. |
Oh I hadn't tried that, thanks for the suggestion. It seems to do well in some cases, but unfortunately has some issues in others. I changed the elklive to be closer to a realistic case for my app, rather than a minimal reproduction:
Here is the (elklive) that shows some issues:
|
so that they avoid each other. wanted to always do this (i.e. without an option), but ELK treats labels as nodes, creating inconsistent spacing between node layers, and creating more node layers total. this sometimes results in more-chaotic layouts than otherwise, so an option is added for it. see eclipse/elk#1092 for more information.
so that they avoid each other. wanted to always do this (i.e. without an option), but ELK treats labels as nodes, creating inconsistent spacing between node layers, and creating more node layers total. this sometimes results in more-chaotic layouts than otherwise, so an option is added for it. see eclipse/elk#1092 for more information.
Describe the bug
When edge labels are included in layout, they can result in more node layers and different amounts of space between node layers (elklive):
I want my edge labels to avoid collision, but the diagram feels more chaotic with a larger number of node layers as well as inconsistent spacing between node layers.
Presumably this happens because edge labels are treated like nodes for layout, and so can either have their own layers or share layers with nodes. I'm not sure how this can be implemented differently - perhaps node layers could be determined first, then edge labels could be added, and allowed to be in half-layers e.g. layer 1.5/2.5 ?
ELK Version
Snapshot/0.9.1
Additional context
Without addressing this, I will likely expose a config in my app to allow users to choose whether or not to include labels in layout, so they can use their best judgment as to whether avoiding label collisions is worth the extra node layers/inconsistent spacing.
Also I respect if this seems not worth implementing - it seems like edge label layout logic could have to change a lot.
Somewhat related kieler/elkjs#308
The text was updated successfully, but these errors were encountered: