如何在 iPython 笔记本中使用 d3.js 可视化图形



我有一个图表,我想用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 示例已损坏并且存储库有一段时间没有更新。有没有人知道我是否可以尝试其他方法,或者是否有人可以指出我的第一步方向?

这里有一个使用 d3 的 NetworkX 示例.js强制布局: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

如果你对替代的JavaScript框架感到满意,我们一直在构建 http://www.github.com/graphistry/pygraphistry。这个想法是使用 WebGL 渲染大图形(平移/缩放/等),并将大部分实时计算(布局、过滤器等)卸载到 GPU 云中。下面有一个 API 用于控制它,类似于 D3。然而,对于大多数用途来说,它更容易,因为它简化了常见的大图形操作和分析。

最新更新