如何从Python创建Gephi网络图?

12 python graph networkx gephi

我刚刚发现了GephiStreamer.https://pypi.python.org/pypi/GephiStreamer

使用这个包可以将指令从python发送到Gephi,在Gephi中创建节点和边缘.

# Create a node with a custom_property
node_a = graph.Node("A",custom_property=1)

# Create edge 
edge_ab = graph.Edge(node_a,node_b,custom_property="hello")
stream.add_edge(edge_ab)
Run Code Online (Sandbox Code Playgroud)

同样,我想通过Python在Gephi中完成所有工作.这是我通常做的.

例如:

脚步:

  1. 加载节点

  2. 加载边缘

  3. 计算好的中心性

  4. 根据中心分数更改节点的大小/颜色

  5. 更改图形布局(例如forceatlas2)

  6. 给出输出图

下面是我手动输出的内容,但我想通过从python向Gephi发送指令来生成相同的内容.文档除了创建节点,边和图之外没有任何说明.

我也发现了NetworKit.https://networkit.iti.kit.edu/data/uploads/docs/NetworKit-Doc/python/html/gephi.html

这比gephistramer略好,但这需要python 3.4或更高版本,大多数软件包如pandas,numpy或sickit都在2.7.

还有办法将我在gephi中创建的文件发送回python.

请建议.

PS:我已经编辑了整个问题的详细信息,以便现在更容易理解(希望如此).

Fro*_*bit 10

我在寻找答案时发现了这个问题.我选择了Gephi作为我的可视化工具,然后想要通过Python从我的组织周围提取数据来构建一个得到工具支持的图表.

我找到了GephiStreamer,它看起来是一种简单而全面的方法,可以从外部python环境(命令行或IDE)在Gephi中构建图形

此时的其他选项是:


Yan*_* P. 2

对此没有简单的答案。Facebook 小组的人可能知道一些事情,但 IMO 最好的方法是Gephi toolkit从 jython 调用 ,即可用的 jar,请在此处查看示例使用。问题是 jython 不允许安装numpy和一系列其他库,但我想您可以通过将一个脚本的输出传输到另一个脚本或使用像 Celery 这样的队列来解决这个问题。

所以我会编写一个脚本,我们称其graph_construction.py为使用networkx,构造图形,然后将其写入gexf的标准输出中。然后我会编写第二个脚本,gephi.py它将在 gephi 中执行操作,假设将图形写入 pdf,然后执行以下操作:

python graph_construction.py | jython gephi.py output.pdf
Run Code Online (Sandbox Code Playgroud)

并祈祷它能发挥作用。