javascript - 总结Cytoscape.js中的很多节点

标签 javascript graph neural-network cytoscape.js

我正在构建一个网络应用程序,用户可以在其中创建一种二分图,如下所示:

A 6 x 7 x 12 graph

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

A 6 x 7 x 784 graph

您是否有任何想法来渲染一个巨大的图层,而不仅仅是绘制所有节点,而是用另一种更漂亮的表示方式总结它们?

到目前为止,我一直在考虑将“巨大”层的所有节点放入一个空的复合节点中,但是当然不可能绘制一些边缘(因此巨大的层看起来就像与图形)。另一种解决方案是让所有节点数超过 100 个的层恰好有 100 个节点,并将它们放在一个复合节点中,其 z 索引大于每个节点的 z 索引;但我还没有尝试过。

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

谢谢。

最佳答案

当层中的数量超过一定数量时,您可以对节点进行分组(例如,如果您有 100 个节点,则将它们组合为 25 个组) 我将通过迭代层中的节点,为每个子组创建一个新节点 N(插入所需的所有相关信息),然后在所有相关边( finding connected edges )中用 N 替换任何提及的被替换节点来实现此目的.

由于我个人在将布局/节点发送到 cytoscape 进行可视化之前在 python 中生成布局/节点,因此我将避免发布可能低效/不正确的 javascript/cytoscape 示例:)

关于javascript - 总结Cytoscape.js中的很多节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44067837/

相关文章:

javascript - fnPageChange 无法立即工作? JS 顺序错误?

javascript - 为什么 Button 组件在单击时改变位置?

r - 神经网络中的额外权重值(R包为nnet)

python - 神经网络可以学习|sin(x)|对于 [0,pi] 但不是 [0,2pi] 或 [0, 4pi]

java - 如何保存训练好的神经网络(图像中的数字识别)

javascript - extjs4 在按钮单击而不是鼠标悬停时显示工具提示

JavaScript 代码契约库?

algorithm - 高效地将二维平面投影到一维线上

pdf - 将 LibreOffice Calc Chart 导出为 PDF,没有边距和空白

java - 如何找到简单有向权重图中两个顶点之间的最小权重(此处为成本)?