在 cytoscape.js 中迭代连接的节点
Iterate connected nodes in cytoscape.js
我需要获取连接到给定节点的节点,并突出显示它们。 "components" 函数看起来不错,但是我的遍历失败了。组件集合显示大小为 1,并且只有原始节点突出显示。
cynode = cy.getElementById(idstr);
comps = cynode.components();
for (i = 0; i < comps.length; i++) /* really there's only one component */
{
comp = comps[i];
alert(comp.size()); /* this always returns 1!! */
comp.nodes().addClass('nodehlt'); /* only the original node gets highlighted */
}
来自文档:
eles.components() :获取连通分量,只考虑调用集合中的元素。返回一个集合数组,每个集合代表一个组件。
如果您考虑的一组元素只是一个节点,则永远只能有一个组件。
您需要获取整个图 (cy.elements.components()
) 或您感兴趣的子图的组件。然后您需要在这些组件中找到包含以下节点的组件兴趣
我需要获取连接到给定节点的节点,并突出显示它们。 "components" 函数看起来不错,但是我的遍历失败了。组件集合显示大小为 1,并且只有原始节点突出显示。
cynode = cy.getElementById(idstr);
comps = cynode.components();
for (i = 0; i < comps.length; i++) /* really there's only one component */
{
comp = comps[i];
alert(comp.size()); /* this always returns 1!! */
comp.nodes().addClass('nodehlt'); /* only the original node gets highlighted */
}
来自文档:
eles.components() :获取连通分量,只考虑调用集合中的元素。返回一个集合数组,每个集合代表一个组件。
如果您考虑的一组元素只是一个节点,则永远只能有一个组件。
您需要获取整个图 (cy.elements.components()
) 或您感兴趣的子图的组件。然后您需要在这些组件中找到包含以下节点的组件兴趣