iVis-at-Bilkent / cytoscape.js-fcose

fCoSE: a fast Compound Spring Embedder
MIT License
145 stars 26 forks source link

Allow apsectRatio paramater for packComponents #39

Closed EliotRagueneau closed 3 years ago

EliotRagueneau commented 3 years ago

Hi, We, at IntAct, are really interested in the packing component option as it has always been an issue in Cytoscape. Currently, the aspectRatio of cytoscape.js-layout-utilities is by default 1, if I analysed correctly. Screenshot 2021-05-18 at 11 05 49

However, it would be really nice if by default the actual aspectRatio could be the one of the canvas, this way, even on large horizontal screens, most of the space would be used to have a better display.

A simpler solution though would be to include the aspectRatio among the different layout options, so that devs can fill it with the aspect ratio of their canvas, if they need to.

Maybe it's already available on a certain branch though, in which case I'm sorry to have created an issue for that.

hasanbalci commented 3 years ago

@EliotRagueneau fCoSE actually provides component packing functionality via cytoscape-layout-utilites extension and this extension has some packing-related options such as desiredAspectRatio and componentSpacing. So you can adjust the aspect ratio according to your canvas size as in fCoSE demo and the corresponding code is here.

EliotRagueneau commented 3 years ago

Oh wow that's really nice, and fits perfectly our needs, thank you very much. I thought it needed to be a layout parameter, but it makes total sense to do it this way.