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

2024-05-19 21:14:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个图表,我想用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中尝试,因为我希望以后能够添加节点属性的mouseover显示,我认为可以使用d3,但不能使用matplotlib。

我试过使用d3py,但我甚至不能让这个基本的例子起作用,我读到NetworkX的例子坏了,repo已经有一段时间没有更新了。有没有人知道我是否还有别的办法可以尝试,或者有人可以给我指一个第一步的方向?


Tags: 数据网络networkxnode图形属性节点可视化
2条回答

如果您对另一个JavaScript框架很满意,那么我们已经构建了http://www.github.com/graphistry/pygraphistry。其思想是使用WebGL呈现大图形(pan/zoom/etc),并将大部分实时计算(布局、过滤器等)卸载到GPU云。下面有一个类似于D3的API来控制它。不过,对于大多数应用来说,它更容易实现,因为它简化了常见的大型图形操作和分析。

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

相关问题 更多 >