D3.js是Neo4j Graph DB数据实时可视化的正确选择

jha*_*188 19 visualization neo4j graph-databases graph-visualization d3.js

我是UW的CS研究生,我的小组正在尝试可视化实时放入neo4j图形数据库的特定网络流量.

我读过许多不同的工具,如gephi,cytoscape,人力车(基于D3.js),其他一些工具,以及D3.js.

我们到目前为止与D3.js一起前进,但想得到社区的意见.我们不能因为neo4j而使用cytoscape,并且认为D3.js在快速实时环境中对于半大数据最有效.

建议?

也许对于另一个问题,还可以随意输入:实现neo4j的最佳方式?Java,Ruby,node.js?

谢谢!

Mar*_*coL 12

对于这类问题,没有一个银弹解决方案,而且大多数取决于您的想法,团队和预算(金钱和时间).

除非您必须满足以下条件之一,否则我不会向您推荐D3:

  • 您想要创建一种全新的数据可视化方式
  • 你的团队中有熟练的人 - 可以是你 - 有了D3
  • 你已经有其他D3小部件/ viz集成

如果您没有遇到上述任何条目,我会将D3放在一边,并告诉您查看:

免责声明:我是KeyLines开发人员之一.

根据您拥有的数据大小,库的选择可能会发生变化:如果您计划在图表上的节点数不超过3/400,并且不需要特定的样式/动画,那么我认为SigmaJS更好; 如果您正在寻找更高级的样式或动画,我会推荐KeyLines,因为它旨在处理这种情况(提供增量布局)并且它可以扩展到2000个节点而没有任何问题 - 尽管我可能会建议在这个尺寸的一侧有一个过滤器.

我将VivaGraph命名为最后的手段:SigmaJS也有一个WebGL渲染器,并提供更好的渲染恕我直言.
VivaGraphJS将很快被ngraph取代,它将使用不可知的aproach渲染:你可以使用PIXI,Fabric或任何你想要的....

当您一次加载资产并重复使用它们时,使用WebGL渲染器是有意义的:如果您在实时场景中设置图表元素的样式,那么在Canvas IMHO中没有优势.


cmo*_*key 9

我的理解:Gephi在实时更新方面表现不佳; 它通常用于静态数据.

一个主要考虑因素 - 您希望呈现的可视化是什么?它是有向图吗?循环?加权?附加标签?

一些工具包在它们可以显示的内容中"固定",但可以很容易地呈现图形.其他(如d3)非常易于扩展,因此您可以创建任何东西.

对于StackOverflow格式,如果您可以确定系统的限制和需求(实际数据速率,瘦/厚客户端,类型等),您可能会得到更好的答案


Mic*_*ger 8

查看使用webgl进行渲染的vivagraph,并且对于大型网络也可以很好地扩展.他们有一些非常好的例子(FB,亚马逊).

http://github.com/anvaka/VivaGraphJS


Pet*_*uer 7

我认为D3很棒,但是,最近,在FOSDEM上有一篇关于Sigma.js的讨论,解释说这对于更大的图表更好.另见http://thewhyaxis.info/hairball/