簡介
Gephi是一款開源免費跨平臺基於JVM的複雜網絡分析軟件,,其主要用於各種網絡和複雜系統,動態和分層圖的交互可視化與探測開源工具。
Gephi提供客戶端工具,爲相關使用人員提供豐富的功能去分析網絡圖譜,但是想要基於Gephi做編程開發的同學們,需要引入gephi-toolkit。
Gephi提供gephi-toolkit是一套工具包(jar包集合),進行圖編程,並提供了相對豐富的插件。
Gephi官方源碼:https://github.com/gephi
實戰
結合對Gephi的實踐,本人基於gephi-toolkit開發了一套簡單的framework,意在幫助想要快速基於gephi進行編程的同學使用,或者作爲demo學習。
項目maven引入gephi-toolkit 0.9.1版本
<dependency>
<groupId>org.gephi</groupId>
<artifactId>gephi-toolkit</artifactId>
<version>0.9.1</version>
</dependency>
該項目託管在:https://github.com/likeaboy/kgraph
例子
可以參見項目源碼中的Demo類:
GetNodeDemo爲根據節點數據生成單個節點,添加到Graph內存模型中,並輸出到圖描述文件gexf文件裏。
GetRelatedNodeDemo以GetNodeDemo生成的gexf文件爲基礎,讀入相關節點刷新Graph內存模型,並 生成新的gexf文件。
該框架支持多種數據源,可通過policy實現自己獲取數據的邏輯,然後轉換成框架自己的數據模型,用戶不必關心後續的分析計算,計算結果以gexf圖描述文件輸出。
基於框架計算出的gexf文件在不同展示工具下的效果:
使用KGraph-framework繪製的gexf圖描述文件在gephi客戶端中渲染的效果:
使用KGraph-framework繪製gexf圖文件在echart中渲染的效果: