laizi:http://blog.csdn.net/qysh123/article/details/9079699
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
下載下的項目源代碼目錄和解壓後類似,安裝方法也和上面相同。在安裝好pygexf之後,在Python IDLE中運行:
- >>> import gexf as gexf
- >>> print gexf
如果能正確打印pygexf的安裝位置,則說明可以已經成功安裝了。參考pygexf\test目錄下的test.py文件,我們可以新建一個最簡單的文件:
- 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)
生成的helloworld.gexf文件就可以用Gephi直接導入了。