在 cytoscape.js 中获取最小图表高度
Getting minimum graph height in cytoscape.js
我有 cytoscape.js 个具有固定节点大小和缩放比例的图表。我想将整个图形(DAG,几乎没有 "non-tree" 边的树)放入具有固定宽度和无限高度的视口中。我在实施时遇到了麻烦。
我使用 breadthfirst
布局。此布局需要边界框(显式或取自当前视口)。我试图将它推入相当大的边界框,然后从节点位置计算图形高度,然后调整边界框。这不起作用,因为布局试图尽可能多地使用 space 屁股并拉伸边缘。
是否有 cytoscape.js 布局,它可以执行 BFS 之类的操作并指定级别之间的最大距离?或者有更好的方法来解决我的问题吗?
如果您使用 avoidOverlap: true
,则不必指定边界框。它应该根据需要溢出边界框。您可以指定 spacingFactor
来调整级别之间的间距。
如果你有一个固定的缩放,你可能想在之后调用cy.center()
。
你不能避免重叠(即有溢出),也不能保证固定大小。您可以在布局后通过将节点位置挤压在一起来手动强制执行水平宽度——但这可能会导致重叠。
我有 cytoscape.js 个具有固定节点大小和缩放比例的图表。我想将整个图形(DAG,几乎没有 "non-tree" 边的树)放入具有固定宽度和无限高度的视口中。我在实施时遇到了麻烦。
我使用 breadthfirst
布局。此布局需要边界框(显式或取自当前视口)。我试图将它推入相当大的边界框,然后从节点位置计算图形高度,然后调整边界框。这不起作用,因为布局试图尽可能多地使用 space 屁股并拉伸边缘。
是否有 cytoscape.js 布局,它可以执行 BFS 之类的操作并指定级别之间的最大距离?或者有更好的方法来解决我的问题吗?
如果您使用 avoidOverlap: true
,则不必指定边界框。它应该根据需要溢出边界框。您可以指定 spacingFactor
来调整级别之间的间距。
如果你有一个固定的缩放,你可能想在之后调用cy.center()
。
你不能避免重叠(即有溢出),也不能保证固定大小。您可以在布局后通过将节点位置挤压在一起来手动强制执行水平宽度——但这可能会导致重叠。