PL。帮我解决这个菜鸟问题。我想展示一个拥有大量(70000)节点的网络,以及210万个强制布局的链接。寻找一种好的,可扩展的方法来做到这一点。
任何这样的例子都可以使用d3js(以及后端 - 比如java,python等)?
答案 0 :(得分:1)
对这个问题感到抱歉,但你真的需要一次性显示所有这些信息吗?
如果你真的需要它,先看看Gephi,看看它是什么样的,然后转到下一步。
如果您发现可以在开始时关注特定节点或模式,然后探索图表的结果,从性能的角度来看,这可能是最佳解决方案。 如果发现方法有效,但您仍然遇到屏幕上有许多项目的问题,只需使用基于时间的阈值控制力布局。它并不完美,但它可以用于数百个节点。
如果你决定在这条路上走,我建议如下:
聚合:这可能是您在这里可以做的最有用的事情:让用户与数据交互并挖掘数据以查看更多详细信息。如果您必须为许多客户提供服务,这是最好的解决方案。
不要在整个网络的前端运行强制定向布局:在任何情况下,它都会占用所有浏览器资源至少几十分钟。
计算后端的布局 - 例如在Java中使用JUNG或Gephi核心本身或在Python中使用NetworkX - 然后只显示结果。
也可以缓存上面的结果:如果你有很多客户端,它们甚至对于服务器都很多,所以要缓存它。
当用户拖动网络时,隐藏链接:它应该加快计算速度(sigmajs使用此技巧)