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

[Suggestion] Improve/redo layouting by leveraging cola.js (WebCoLa) and/or networkVizJS? #13

Closed
no-identd opened this issue Feb 21, 2019 · 2 comments
Labels
wontfix This will not be worked on

Comments

@no-identd
Copy link

@AndrewJakubowicz has this very nice library available here:

https://github.com/AndrewJakubowicz/networkVizJS

I figure using this rather than d3 for the graph layouting might work a lot better but sadly lack time & skill to contribute such a major feature change; hence the suggestion.

Also, in lieu of (or as a first step towards?) redoing everything with networkVizJS, the library on which networkVizJS builds, @tgdwyer's cola.js, can function as a drop-in replacement of d3's graph force layouting:

https://ialab.it.monash.edu/webcola/

(One might also consider js.cytoscape.org, albeit that at least ostensibly seems like overkill, perhaps.)

@barney-walker barney-walker transferred this issue from CitationGecko/citation-network-explorer Jul 5, 2019
@barney-walker
Copy link
Collaborator

It looks fairly straightforward to swap d3 for cola.js but on the cola.js site it says that compared to d3 "it may be less scalable to very large graphs."

As we're already limited on the scalability front (see #6) I'm inclined to stick with d3 for now but maybe I'll have an play around and see how much of a difference it makes.

@barney-walker barney-walker added the wontfix This will not be worked on label Jul 5, 2019
@no-identd
Copy link
Author

I can't say for sure about whether cola.js alone when used as a drop in replacement would scale worse, but:
The majority of lag right now seems to come from the force simulation taking non-polynomial time to converge to stable positional vertice placement, which seems evident from the massive amounts of jittering. (In fact, that observation prompted me to offer the suggestion of using networkVizJS in the first place.)

I strongly suspect that at least networkVizJS should make that problem go away, but I can't say for sure if pure cola.js alone would make some, or any, difference (positive or negative) in that regard.

(Sorry for the very late response, btw.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants