Javascript 具有类似于Cola示例的Cytoscape的强制定向Cola布局
我正在使用cytoscape.js和cola扩展,我对创建布局感兴趣 在网站上使用cola和cytoscape.js有很多相似之处,但它们没有这种不重叠的功能 我尝试了infinite:true选项,但它似乎没有像预期的那样工作。我想知道cytoscape.js和cola是如何实现这一点的Javascript 具有类似于Cola示例的Cytoscape的强制定向Cola布局,javascript,cytoscape.js,webcola,Javascript,Cytoscape.js,Webcola,我正在使用cytoscape.js和cola扩展,我对创建布局感兴趣 在网站上使用cola和cytoscape.js有很多相似之处,但它们没有这种不重叠的功能 我尝试了infinite:true选项,但它似乎没有像预期的那样工作。我想知道cytoscape.js和cola是如何实现这一点的 谢谢。避免重叠是可乐的一项内置功能。除非指定使重叠避免成为不可能的特定选项,否则Cola将在节点不重叠的地方生成结果 可以使用nodeSpacing指定节点周围的额外空间。如演示所示,增加该值会使节点间距增大
谢谢。避免重叠是可乐的一项内置功能。除非指定使重叠避免成为不可能的特定选项,否则Cola将在节点不重叠的地方生成结果
可以使用
nodeSpacing
指定节点周围的额外空间。如演示所示,增加该值会使节点间距增大:在第一次尝试时使用infinite:true
参数。您还需要fit:false
参数以便能够缩放和平移
例如:
var cy = cytoscape({
container: $('#cy'),
elements: /*...*/,
layout: {
name: 'cola',
infinite: true,
fit: false
}
});
我在这里做了一个工作示例:(您需要在HTTP中加载:我没有找到用于cola的HTTPS CDN…我正在使用cytoscape cola github repo的默认设置-可能我不了解如何从上面的cola实现示例。我是否需要绑定一些事件以在移动单个节点时重新初始化布局?似乎在布局确定后,节点可以再次重叠。当用户推拉节点时,我希望周围的节点移开,反过来也被拉回-cytoscape网站上的示例都没有显示这一点,因此我不确定如何使用库实现。非常感谢!所以我发现我正在调整的演示,来自cytoscape.js github repo的cola示例-实际上使用的是cytoscape cola 1.1.1的旧版本-通过使用您正在使用的1.5.0版本,我能够获得预期的结果!