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)
この時点でのその他のオプションは次のとおりです。
それに対する簡単な答えはありません。 Facebookグループの人々は何かを知っているかもしれませんが、IMOがそれを行うための最良の方法は、Gephi toolkit
、つまり利用可能なjarをjythonから呼び出すことです。使用例については here を確認してください。 。問題は、jythonがnumpy
およびその他の一連のライブラリをインストールできないことですが、1つのスクリプトの出力を別のスクリプトにパイプするか、Celeryのようなキューを使用することで、この問題を回避できると思います。
そのため、networkxを使用するgraph_construction.py
という名前のスクリプトを作成し、グラフを作成して、それをgexfの標準出力に書き込みます。次に、gephiで実行する2番目のスクリプトgephi.py
を記述し、グラフをPDFに書き込んでから、次のようなことを行います。
python graph_construction.py | jython gephi.py output.pdf
それが機能するように祈ってください。