1. 程式人生 > >NetworkX學習筆記-3-Python中輸出Gephi檔案格式的方法

NetworkX學習筆記-3-Python中輸出Gephi檔案格式的方法

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 ,在這個頁面中選擇對應的連結下載即可。

  1. easy_install.py pygexf-0.2.2  

要執行上面的命令,需要首先安裝setuptools,具體安裝方法請參考我之前一篇日誌

實際上在gexf的主頁上也給出了pygexf的Github連結:https://github.com/paulgirard/pygexf 順便介紹一下從Github上下載專案原始碼的方法,最簡單的方法是安裝Github Windows系統外掛後,在Git Shell中輸入:

  1. git clone https://github.com/paulgirard/pygexf.git  

下載下的專案原始碼目錄和解壓後類似,安裝方法也和上面相同。在安裝好pygexf之後,在Python IDLE中執行:
  1. >>> import gexf as gexf  
  2. >>> print gexf  

如果能正確列印pygexf的安裝位置,則說明可以已經成功安裝了。參考pygexf\test目錄下的test.py檔案,我們可以新建一個最簡單的檔案:
  1. from gexf import Gexf  
  2. gexf = Gexf("Paul Girard","A hello world! file")  
  3. graph=gexf.addGraph("directed"
    ,"static","a hello world graph")  
  4. graph.addNode("0","hello")  
  5. graph.addNode("1","World")  
  6. graph.addEdge("0","0","1")  
  7. output_file=open("helloworld.gexf","w")  
  8. gexf.write(output_file)  

生成的helloworld.gexf檔案就可以用Gephi直接匯入了。