cytoscape/cytoscape-explore

Specific layout options that are dependent on element data attributes

maxkfranz opened this issue · 1 comments

  • Edge weighted FD: The clustered layout should support an option to select an attribute for the edge length. Selecting an attribute makes the layout result edge weighted. The existing slider could control a scale factor in order to control the overall length of the edges (i.e. a constant multiplied by the property-dependent edge length).
  • Concentric metric: The circle layout has a concentric metric to specify the order of the nodes (i.e. which are in the centre and which are in the outer levels). When this option is set to an attribute, the concentric circles depend on this attribute.
  • Circular/concentric sorting: Nodes in a circular/concentric layout may be sorted, in clockwise or counterclockwise order. The user may want to specify a data attribute used for the sorting.

Depends on:

  • Add a robust element property data type analyser #49
  • Layout API for depending on element data properties #61

Speccing out how this should work with the typing system (#49):

  • Edge-weighted FD: Any number data attribute could be used for edge-weighted layouts.
    • Default: No attribute selected. The default FD algorithm is used.
  • Concentric metric: Again, a number should be used. Because the number of concentric circles depends on splitting up the nodes into sets, it would make sense to use additional characteristics of the data: The main one that comes to mind is that the circles could be split up based statistical measure, e.g. split up into quartiles.
    • Default: No attribute is selected. The nodes are organised in a single circle.
  • Circle/concentric sorting: Any number could be used. Alternatively, the user may want to sort the nodes alphabetically, based on the label.

It looks like we could do the edge-weighted FD feature and the concentric sorting using the basic type system (#49). The number of circles for the concentric metric would depend on statistical characteristics, an enhancement of the type system.

Of note for the concentric layout: The concentric metric and the sorting metric may be the same, or they may be different. It would simplify things to use the same data attribute for both. In most cases, the user would want the nodes in each circle sorted by the same metric used to split up the nodes into multiple circles. The main edge case that comes to mind is where the user wants the nodes within each circle to be sorted alphabetically by label: That can make finding a particular node within a level easier.