Javascript 如何使用大量数据(Visjs、cytoscape、sigma和vivaGraph)快速绘制社交网络?

Javascript 如何使用大量数据(Visjs、cytoscape、sigma和vivaGraph)快速绘制社交网络?,javascript,performance,cytoscape.js,vis.js,vivagraphjs,Javascript,Performance,Cytoscape.js,Vis.js,Vivagraphjs,我必须创建一个包含大量数据的社交网络。我使用visJs,网络速度很慢 我尝试了这些插件:Cytoscape、visJs、Vivagraph和sigma Visjs、cytoscape和sigma的问题 他们很慢 活体摄影的问题 我不能用svgGraph渲染webglraph,所以我不能有很多节点和边,也不能在边上放一个箭头 vivaGraph的优势: 他真的很快,因为我可以用webGl绘制图形。但是我不能或者我不知道如何用这个插件添加图形 使用visjs: 我可以快速初始化图形,因为我

我必须创建一个包含大量数据的社交网络。我使用visJs,网络速度很慢

我尝试了这些插件:Cytoscape、visJs、Vivagraph和sigma

Visjs、cytoscape和sigma的问题

  • 他们很慢
活体摄影的问题

  • 我不能用svgGraph渲染webglraph,所以我不能有很多节点和边,也不能在边上放一个箭头
vivaGraph的优势:

他真的很快,因为我可以用webGl绘制图形。但是我不能或者我不知道如何用这个插件添加图形

使用visjs:

  • 我可以快速初始化图形,因为我可以在数据库中保留位置,并且可以停用物理
问题是,我无法进行任何更改,因为当动态添加一个点时,必须重新计算所有其他点,并且使用visJs时,该点太长

我有,我想要这样的东西(用visJs完成): 我希望能够做到这一点:

  • 修改节点和边的颜色、大小、名称等

  • 用最少10000个节点快速更新和生成图形

  • 布局与我展示的相似(如果可能,按颜色分组)

  • 所以我有两个问题:

  • 是否有一种方法可以在初始化后使用visjs快速动态添加

  • 知道我至少有10000个节点,如何快速生成图形


  • 有没有一种技术可以快速生成具有良好布局的图形?

    我找到了一个VivagraphJS子库的明喻问题的解决方案

    我的问题是构建一个非常大的图(全部(或部分)交易比特币)

    我决定使用模块,这些模块对于速度非常优化

    ngraph.*模块的介绍在自述文件中,但这些模块提供了在图形中进行个人渲染的可能性

    模块包括:

    • :导入图形结构的基本模块,如addNode()和addLink()
    • :构建二维布局并存在三维版本
    有很多子模块,请慢慢看

    对于大图,可以脱机使用预计算布局,可以使用两个模块:

    • :它使布局脱机,创建扩展名为
      .bin
      的文件
    • :它在加载图形后绘制图形之前进行布局
    您可以使用不同的子模块绘制图形,如

    结论 我认为绘制一个图形和一个大图是一个非常好的开源解决方案,在下面我将发布我的配置和我的子模块,最后我将发布我的项目链接和youtube视频

    配置
    • :My子模块,用于从预计算文件加载图形并绘制结果
    你可以在网上找到一段视频

    我的项目的来源是可用的,也许它可以帮助你

    我希望我的回答能帮助你