-
Notifications
You must be signed in to change notification settings - Fork 3
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
Per-element values, specified by functions #7
Comments
For reference, the built-in version of COSE allows for functions on the above options, although it is generally not as sophisticated as the later versions: https://js.cytoscape.org/#layouts/cose It would be great to have the ability to use these function options. I think that's the only thing missing from the later COSE versions that the built-in version has. I'm in the process of evaluating the removal/replacement of the old COSE in Cytoscape.js v4, and not supporting functions would be a blocker. |
@maxkfranz @chrtannus We never had this in cose-bilkent but we had request for it (cytoscape/cytoscape.js-cose-bilkent#1). Anyway we could implement this. Is there a strict timeline for v4 release? |
No, there isn't a strict timeline for v4. However, @chrtannus and I would like to use some of your latest layouts in some of the new Cytoscape cloud projects (e.g. Cytoscape Explore, which is like Google Docs for graphs). For the new cloud projects, having the function options is necessary. We'd really like to use FCoSE, for example, but we need to be able to have edge-weighted results. The experimentation of layouts like FCoSE in Cytoscape Explore will help to inform how we move forward with Cytoscape v4 w.r.t. FD layouts -- like a case study. |
nodeRepulsion, idealEdgeLength and edgeElasticity are now defined in per element basis
The removed code snippet is unnecessary after the changes made in layout-base to allow functions for some options
Progress update:
|
Some of the layout options should be able to be specified on a per-element basis, rather than a graph-wide basis. For example, the edge length should be able to be specified as a
function(edge) : double
in order to create an edge-weighted result (i.e. the edge length varies by score).I think that this feature may have existed before in COSE, but it may have been lost during the refactoring into
layout-base
andcose-base
.The following options should allow for functions:
nodeRepulsion
:function(node) : double
idealEdgeLength
:function(edge) : double
edgeElasticity
:function(edge) : double
What are your thoughts, @ugurdogrusoz?
I assume that making the change within this project would enable the function options within any of the COSE family of layouts, which is why I'm filing the issue here.
I'm tagging @chrtannus, as he's interested in this topic.
The text was updated successfully, but these errors were encountered: