簡體   English   中英

如何從Python創建Gephi網絡圖?

[英]How to create Gephi network graphs from Python?

我剛剛發現了GephiStreamer。 https://pypi.python.org/pypi/GephiStreamer

使用這個包可以將指令從python發送到Gephi,在Gephi中創建節點和邊緣。

# Create a node with a custom_property
node_a = graph.Node("A",custom_property=1)

# Create edge 
edge_ab = graph.Edge(node_a,node_b,custom_property="hello")
stream.add_edge(edge_ab)

同樣,我想通過Python在Gephi中完成所有工作。 這是我通常做的。

例如:

腳步:

  1. 加載節點

  2. 加載邊緣

  3. 計算好的中心性

  4. 根據中心分數更改節點的大小/顏色

  5. 更改圖形布局(例如forceatlas2)

  6. 給出輸出圖

下面是我手動輸出的內容,但我想通過從python向Gephi發送指令來生成相同的內容。 文檔除了創建節點,邊和圖之外沒有任何說明。

我也發現了NetworKit。 https://networkit.iti.kit.edu/data/uploads/docs/NetworKit-Doc/python/html/gephi.html

這比gephistramer略好,但這需要python 3.4或更高版本,大多數軟件包如pandas,numpy或sickit都在2.7。

還有辦法將我在gephi中創建的文件發送回python。

請建議。

PS:我已經編輯了整個問題的詳細信息,以便現在更容易理解(希望如此)。

我在尋找答案時發現了這個問題。 我選擇了Gephi作為我的可視化工具,然后想要通過Python從我的組織周圍提取數據來構建一個得到工具支持的圖表。

我找到了GephiStreamer ,它看起來是一種簡單而全面的方法,可以從外部python環境(命令行或IDE)在Gephi中構建圖形

此時的其他選項是:

對此沒有簡單的答案。 Facebook小組的人可能知道一些事情,但IMO最好的方法是從jython調用Gephi toolkit ,即可用的jar,在這里查看一個示例用法。 問題是jython不允許安裝numpy和一系列其他庫,但我想你可以通過將一個腳本的輸出傳遞給另一個腳本或使用像Celery這樣的隊列來解決這個問題。

所以我會編寫一個腳本讓我們稱之為graph_construction.py ,它使用networkx,構造圖形,然后將其寫入gexf的標准輸出中。 然后我會編寫第二個腳本gephi.py ,它將在gephi中執行,然后讓圖表將圖形寫入pdf,然后執行以下操作:

python graph_construction.py | jython gephi.py output.pdf

並祈禱它工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM