使用vis.js可视化networkx

时间:2016-05-16 14:44:32

标签: python json networkx vis.js

我正在使用Pythonnetworkx创建一个包含近2k个节点的有向图,我希望使用vis.js库可视化图形

我知道如何将其导出为Json,但我无法生成兼容的格式直接将其用于vis.js

我应该有一个json String输出,如下所示:

节点:

[
  {id: 1, label: 'a'},
  {id: 2, label: 'b'},
  {id: 3, label: 'c'}
]

边缘:

[
    {from: 1, to: 2, label: 'label1'},
    {from: 1, to: 3, label: 'label2'},
    {from: 2, to: 4, label: 'label3'},
    {from: 2, to: 5, label: 'label3'}
]

2 个答案:

答案 0 :(得分:1)

我对viz.js不熟悉,但如果不是硬性要求,我建议您将图表导出到GEXF

G = nx.path_graph(4)  # your graph here
nx.write_gexf(G, "test.gexf")

然后使用Sigma.js将其导入the dedicated GEXF importer plugin,这是一个专用的高性能图形库。

答案 1 :(得分:0)

Jupyter的{​​{1}}端口。你可以找到它here

该软件包位于visJS,但已开始移植到Python 2

请注意,如上所述,它仅适用于Python 3(如果您问我,这很棒!)。