Javascript 具有类似于Cola示例的Cytoscape的强制定向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指定节点周围的额外空间。如演示所示,增加该值会使节点间距增大

我正在使用cytoscape.js和cola扩展,我对创建布局感兴趣

在网站上使用cola和cytoscape.js有很多相似之处,但它们没有这种不重叠的功能

我尝试了infinite:true选项,但它似乎没有像预期的那样工作。我想知道cytoscape.js和cola是如何实现这一点的


谢谢。

避免重叠是可乐的一项内置功能。除非指定使重叠避免成为不可能的特定选项,否则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版本,我能够获得预期的结果!