Andy
Andy

Reputation: 10071

cytoscape: Dagre-layout prevent nodes from laying on edges

I am using cytoscapejs with dagre layout (https://github.com/cytoscape/cytoscape.js-dagre). I am very happy with this extension, however, there is one problem I am struggling with. In particular, I would like to prevent that nodes are allowed to lay over edges. Because of that, there are some examples where one cannot distinguish between an edge from a node to a successor and an edge from the successor of the particular node to the succeeding node. There is also an open issue regarding this misbehavior (https://github.com/cytoscape/cytoscape.js/issues/1078)

I allready tried out other curve-style layouts such as 'segments' and 'haystack' but unfortunately without success.

Does anyone of you have an idea how to do that?

Thanks in advance

Andy

Upvotes: 1

Views: 1069

Answers (1)

maxkfranz
maxkfranz

Reputation: 12242

You'd have to convert the points that Dagre gives you into segment values. You could put those values in .scratch() to be used in a mapper.

See https://github.com/cytoscape/cytoscape.js-dagre/issues/5

There are a lot of things in the queue for Cytoscape and the extensions, but unfortunately time and resources are constrained and this feature request is relatively low priority. You're welcome to make a pull request on the extension if you'd like to use the feature.

Thanks

Upvotes: 0

Related Questions