Gephi(http://gephi.org/)是一个常用的复杂网络分析和可视化工具,可以生成些比较漂亮的网络图。这里总结一下Python中生成符合Gephi输入文件格式的方法。Gexf(http://www.gexf.net/format/)是一个Gephi相关开发者定义的开放文件格式。其实我们也可以直接调用Gephi的API,但是由于很多网络分析是基于Python和NetworkX实现的,所以需要研究一下怎么通过Python生成Gexf文件。可以使用pygexf这个插件。
pygexf使用lxml作为XML的解析引擎,所以我们需要首先安装lxml,在其官网上http://lxml.de/ ,在Windows系统中的安装方法非常繁琐。但是实际上可以在python的官网中的PYPI(Python Package Index)中找到其可执行程序安装包:https://pypi.python.org/pypi/lxml ,在这个页面中选择对应的链接下载即可。
另外,pygexf在PYPI上的链接为:https://pypi.python.org/pypi/pygexf/0.2.2 下载pygexf-0.2.2.tar.gz 后解压。将压缩包拷贝至%Python安装目录%\Lib\site-packages,定位到该目录下,然后运行:
easy_install.py pygexf-0.2.2
要运行上面的命令,需要首先安装setuptools,具体安装方法请参考我之前一篇日志。
实际上在gexf的主页上也给出了pygexf的Github链接:https://github.com/paulgirard/pygexf 顺便介绍一下从Github上下载项目源代码的方法,最简单的方法是安装Github Windows系统插件后,在Git Shell中输入:
git clone https://github.com/paulgirard/pygexf.git
>>> import gexf as gexf >>> print gexf
from gexf import Gexf gexf = Gexf("Paul Girard","A hello world! file") graph=gexf.addGraph("directed","static","a hello world graph") graph.addNode("0","hello") graph.addNode("1","World") graph.addEdge("0","0","1") output_file=open("helloworld.gexf","w") gexf.write(output_file)