我有一个图表,我想使用d3.js可视化。具体来说,我有一个邻接矩阵,如下所示(选择数据,而不是全套):
Node 1 Node 2 Weight
A B 1.0
A C 1.0
A D 1.5
B D 1.0
...
我希望能够使用强制导向图来显示我的网络。
我知道如何创建NetworkX图,但我希望能够在d3.js中尝试这个,因为我希望以后能够添加节点属性的鼠标悬停显示,我认为可以使用d3但不可能使用matplotlib。
我尝试过使用d3py,但我甚至无法使用基本示例,而且我读到NetworkX示例已损坏且repo尚未更新一段时间。有没有人知道我能尝试的其他东西,或者有人能指出我的第一步吗?
答案 0 :(得分:3)
这里有一个使用d3.js强制布局的NetworkX示例:http://networkx.github.io/documentation/latest/examples/javascript/force.html
它只是从networkx写入一个JSON格式图形对象,d3.js可以在Web浏览器中加载以获得交互式绘图。该代码有点发烧友,因为它也会为您提供Web浏览器部分。
运行它所需的所有代码(包括d3部分)都在存储库https://github.com/networkx/networkx/tree/master/examples/javascript
中答案 1 :(得分:2)
如果您使用其他JavaScript框架,我们一直在构建http://www.github.com/graphistry/pygraphistry。我们的想法是使用WebGL渲染大图(平移/缩放/等),并将大部分实时计算(布局,过滤器等)卸载到GPU云。下面有一个API用于控制它,类似于D3。然而,对于大多数用途来说它更容易,因为它简化了常见的大图操作和分析。