Skip to content
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

Develop optimized path sorting algorithm for parcats traces #3059

Closed
jonmmease opened this issue Sep 28, 2018 · 1 comment
Closed

Develop optimized path sorting algorithm for parcats traces #3059

jonmmease opened this issue Sep 28, 2018 · 1 comment
Labels
feature something new

Comments

@jonmmease
Copy link
Contributor

As discussed in #2963, the path sorting approaches in the initial parcats trace are pretty simple.

When sortpaths is 'forward' the paths are sorted by categories in their left-most dimension, then by the second leftmost, and so on, and finally by the right most dimension.

When sortpaths is 'backward' the process is repeated with the dimensions considered from right to left.

These approaches aren't optimized to minimize path crossing, so it would be nice to introduce one or more algorithms for sorting paths so as to minimize crossing paths.

For example:
pathexample

In #2963 @alexcjohnson noted

In the Three dimension all the grey paths come together, yet the B->11 and C->11 paths are interleaved. And the red A->11 goes all the way to the bottom, but it could go to the top of the red bundle, resulting in less self-crossings. We should be able to find an algorithm that untangles these.

In addition, there would also be the option combining path sorting and category ordering (maybe setting both categoryorder and sortpaths to 'auto' or something) so as to further reduce path crossing.

@gvwilson
Copy link
Contributor

Hi - this issue has been sitting for a while, so as part of our effort to tidy up our public repositories I'm going to close it. If it's still a concern, we'd be grateful if you could open a new issue (with a short reproducible example if appropriate) so that we can add it to our stack. Cheers - @gvwilson

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature something new
Projects
None yet
Development

No branches or pull requests

2 participants