neo4j-labs / arrows.app

A graph drawing application
https://arrows.app
Apache License 2.0
109 stars 17 forks source link

Add automatic layouts similar to Cytoscape, etc. #74

Open bamalburg opened 2 years ago

bamalburg commented 2 years ago

It would be great if there were some automatic layout options which quickly/easily made the diagram look better (or different), rather than relying on the user manually dragging each node to where they'd like it to be. Another sort of similar tool, Cytoscape, has things like this: https://manual.cytoscape.org/en/3.9.0/Navigation_and_Layout.html#automatic-layout-algorithms

In addition, last time I checked, I think Cytoscape allows you to use one of those automatic layouts, and then manually tweak some stuff afterwards if you'd like to, and then save that configuration as a template. Something like that could be cool too. But primarily just having some automatic layouts would be nice.

bamalburg commented 2 years ago

I guess Bloom does a bit of this, didn't realize that

akollegger commented 1 year ago

The emphasis for Arrows is on drawing diagrams rather than automatically laying out graphs. However, other drawing apps typically have features for alignment or distribution of selected elements. I think we could consider something similar for Arrows, where Cytoscape or Bloom style arrangement of nodes that is physics based on tree-based, etc.

Preferably, from my view, this would be a defined extension point so that contributors could create plugins that expand the available layout/alignment/distribution methods.

-ABK