我正在使用Cytoscape库来生成图形,并且我使用了以下设置
layout: {
name: 'cose',
idealEdgeLength: 100,
nodeOverlap: 20,
refresh: 20,
fit: true,
padding: 30,
randomize: false,
componentSpacing: 50,
nodeRepulsion: 400000,
edgeElasticity: 100,
nestingFactor: 5,
gravity: 300,
numIter: 1000,
initialTemp: 200,
coolingFactor: 0.95,
minTemp: 1.0
},图是可以的,但边有时会截取对方,我需要刷新几次图或对其进行修改才能得到好看的图形。是否有可能在渲染时强迫Cytoscape不截取边缘?
发布于 2018-03-12 21:47:36
这个解决方案解决了我的问题,叫做"cose-bilkent“。
layout: {
name: 'cose-bilkent',
animate: false
},它不包括在正式发行版中,附加的库应该包括在https://cdn.rawgit.com/cytoscape/cytoscape.js-cose-bilkent/1.6.5/cytoscape-cose-bilkent.js中。
发布于 2018-01-22 18:59:57
以力为导向的布局是一种物理模拟,它设置每个单元的力来约束结果.相对边缘长度通常具有与它们相关联的意义(例如权重),并且您通常希望看到自然聚类。考虑到这些问题,避免跨越边界往往会造成冲突。
Graphviz和Mathematica有平面布局,如果您愿意,可以将它们移植到Cytoscape布局扩展。然而,你将失去武力导向布局的好处。
另请参阅:
https://stackoverflow.com/questions/48271797
复制相似问题