我有带有固定节点大小和缩放比例的cytoscape.js图。我想将整个图形(DAG,几乎是带有少量“非树”边缘的树)放入具有固定宽度和无限高度的视口中。我在实施它时遇到了麻烦。
我使用breadthfirst
布局。此布局需要边界框(显式或从当前视口获取)。我试图将其推入相当大的边界框,然后从节点位置计算图形高度,然后调整边界框。这不起作用,因为布局尝试使用尽可能多的空间并拉伸边缘。
是否存在cytoscape.js布局,该布局可以执行类似BFS的操作并指定级别之间的最大距离?还是有更好的方法来解决我的问题?
最佳答案
如果使用avoidOverlap: true
,则不必指定边界框。它应该在必要时溢出边界框。您可以指定spacingFactor
来调整级别之间的间隔。
如果您具有固定的缩放比例,则可能需要稍后再调用cy.center()
。
您无法避免重叠(即出现溢出),而且还必须保证尺寸固定。您可以通过在布局后将节点位置挤压在一起来手动实施水平宽度-但这可能会导致重叠。
见http://js.cytoscape.org/#layouts/breadthfirst
关于javascript - 在cytoscape.js中获取最小图形高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32647447/