[英]How to efficiently create interactive directed network graphs (with arrows) on Python?
[英]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中完成所有工作。 這是我通常做的。
例如:
腳步:
加載節點
加載邊緣
計算好的中心性
根據中心分數更改節點的大小/顏色
更改圖形布局(例如forceatlas2)
給出輸出圖
下面是我手動輸出的內容,但我想通過從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.