-
Notifications
You must be signed in to change notification settings - Fork 255
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
Stable sorting links for better parallel edge handling #19
Conversation
Huge improvement! Nice work. |
Examples for multi-edges:
|
Any updates to this PR? |
@wiesson I have no information on this, and there's a related other PR #24 so, for the time being, we made a friendly fork with the thought of eventually syncing up. As such, it got published on This example shows the effect of both of the PRs mentioned and has crosscutting I think this specific PR is non-controversial, but the other PR we merged in the forked version is worth pondering, see the discussion |
@arankek cc-ing you in case you have more info for @wiesson |
... due to cleanup of |
I’m on it. Going to rename to link.index and populate node.index, too. |
Merged! |
Currently, link Y ordering is the result of non-stable sorting on both the source and target nodes, with the result that multi-edges may unnecessarily cross each other. By turning it into a stable short, via the use of an arbitrary but shareable (between source/target) tie breaker such as the original index of a link, we get better results.
The dataset is from a data URL of Washington Post - Fallen from the skies: drone crashes database which shows the utility of multi-edges (parallel links) for things like hover interactions and/or focus+context interactions. Attribute based coloring is yet another possibility.
All is not perfect though - the edges between the same source and target overlap slightly, depending on the Y offset between the anchor points and where we are on the line. This overlap may help or hinder the design, depending on goals, color and other styling.