总结Cytoscape.js

时间:2017-05-19 10:35:53

标签: javascript graph neural-network cytoscape.js

我正在构建一个网络应用,用户可以像这样创建一种二分图

A 6 x 7 x 12 graph

有时,用户希望构建一个巨大的图形,例如最顶层有784个节点的图形,如下图所示。我的应用程序可以处理计算,但结果是丑陋无意义的:

A 6 x 7 x 784 graph

你是否有任何想法在不仅仅绘制所有节点的情况下渲染一个巨大的层,而是用另一个更漂亮的表示来总结它们?

到目前为止,我已经考虑过放置一个"巨大的"的所有节点。在一个空的复合节点中的图层,但当然不可能绘制一些边缘(因此,当图形与图形断开连接时,巨大的图层就会出现)。另一个解决方案是让所有超过100个节点的层都有100个节点,并将它们放在一个复合节点内,其z-index大于每个节点的z-index;但我还没试过这个。

如果您有其他想法,或者Cytoscape.js提供了总结大图的方法,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:1)

当图层中的金额超过一定数量时,您可以对节点进行分组(例如,如果您有100个节点,则将它们组合成25个组) 我通过迭代层中的节点,为每个子组创建一个新节点N(插入所需的所有相关信息),然后在所有相关边缘中用N替换任何被替换节点的提及来做到这一点({{3} })。

由于我亲自在python中生成布局/节点,然后将它们发送到cytoscape进行可视化,我将避免发布可能无效/不正确的javascript / cytoscape示例:)