NetworkX學習筆記-3-Python中輸出Gephi檔案格式的方法
阿新 • • 發佈:2019-02-18
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 ,在這個頁面中選擇對應的連結下載即可。
- 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"
- 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直接匯入了。