Javascript 多节点图算法

Javascript 多节点图算法,javascript,algorithm,graph,sigma.js,Javascript,Algorithm,Graph,Sigma.js,我一直在尝试开发一个基于web的应用程序,以帮助绘制节点及其交互 我尝试将Sigma.Js与forceatlas扩展一起使用 对于我的简单测试(几个节点),结果非常好看,但是如果增加1000个节点,结果会变得非常混乱 有没有这样的方法可以让结果更直观?(眼睛容易一点/不只是一个大斑点)我该怎么做?是否已经编写了任何算法(我可以实现?您可以尝试Fruchterman Reingold force布局(其中有一个)。它特别减少了相互交叉的链接数量,因此通常更适合于大型图(除非所有节点都有大量连接)

我一直在尝试开发一个基于web的应用程序,以帮助绘制节点及其交互

我尝试将Sigma.Js与forceatlas扩展一起使用

对于我的简单测试(几个节点),结果非常好看,但是如果增加1000个节点,结果会变得非常混乱


有没有这样的方法可以让结果更直观?(眼睛容易一点/不只是一个大斑点)我该怎么做?是否已经编写了任何算法(我可以实现?

您可以尝试Fruchterman Reingold force布局(其中有一个)。它特别减少了相互交叉的链接数量,因此通常更适合于大型图(除非所有节点都有大量连接)


此外,绘制后的可能有助于更好地理解图形。

缩放效果更好,但如果图形具有强大的连接密度,则不会创造奇迹。

谷歌搜索“图形聚类算法”或“分层图形聚类”。您可以使用SCC将图形划分为更小的组件(将每个SCC表示为单个节点,在选择时展开)SCC==强连接组件?强连接节点图没有“子流形”这使它们易于查看。即使将节点隔开很长的距离,也不会使blob更容易理解。也许您需要另一种查看数据的方式。d3.js有一系列算法,包括它自己的力图布局。@user2100799希望它是特定于域的,这可能会提供一些线索对不起,我什么都没有:(。你能做的最好是按照JayC的建议挑选各种层次/多尺度的力算法,看看什么算法效果好。