我正在使用 cytoscape.js 和 cola 扩展,并且我有兴趣创建类似于此示例的布局。
网站上有一个使用可乐和 cytoscape.js 的示例,但它们没有这种不重叠的功能。
我尝试了infinite:true 选项,但它似乎没有按预期工作。我想知道这是如何使用 cytoscape.js 和可乐实现的。
谢谢。
使用infinite: true
您第一次尝试的参数。您还需要该fit: false
参数以便能够缩放和平移。
例如:
var cy = cytoscape({
container: $('#cy'),
elements: /*...*/,
layout: {
name: 'cola',
infinite: true,
fit: false
}
});
我在这里做了一个工作示例:http: //codepen.io/anon/pen/EWEOKw(您需要在 HTTP 中加载:我没有找到可乐的 HTTPS CDN...)
避免重叠是可乐的内置功能。除非您指定无法避免重叠的特定选项,否则 Cola 将产生节点不重叠的结果。
您可以使用nodeSpacing
指定节点周围的额外空间。如演示所示,增加该值会使节点间距更大:http: //js.cytoscape.org/demos/2ebdc40f1c2540de6cf0/