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中完成所有工作.这是我通常做的.
例如:
脚步:
加载节点
加载边缘
计算好的中心性
根据中心分数更改节点的大小/颜色
更改图形布局(例如forceatlas2)
给出输出图
下面是我手动输出的内容,但我想通过从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中构建图形
此时的其他选项是:
对此没有简单的答案。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)
并祈祷它能发挥作用。