私は、大きなグラフの視覚化をPythonとnetworkxに持っています。グラフは視覚化され、215,000のエッジと頂点セットサイズを持っています。トップページにリンクされているドキュメントから、networkxはmatplotlib
とGraphVizでプロットをサポートしています。 pythonとnetworkxを使った大きなグラフの可視化
import
networkx as nx
import matplotlib.pyplot as plt
#Let g be a graph that I created
nx.draw(g)
は私が
nx.draw(g)
後にメモリエラーを取得し、その後、あなたが正常に
plt.show()
またはPLTを行うだろう、[some_function]など、効率的かつための形式でファイルを保存するために次のように
matplotlib
とnetworkx図において行われます。 。
次へGraphVizを試しました。 wikipedia pageからdot
形式は有向グラフのために使用され、私は、ドットファイル作成されます。
nx.write_dot(g, "g.dot")
これはうまく働いたが、私は12メガバイトである私の現在のディレクトリにドットファイルを持っていました。これは私のコンピュータを遅く
dot -Tps g.dot -o g.ps
、数分間実行した後、ターミナルでKilled
を表示:次の私はdot
プログラム(PostScriptファイルを作成するために、graphvizのの一部)を実行しました。だから、決して実行することはできません... graphvizのドキュメントを読んでいるうちに、大きなグラフの視覚化のために無向グラフだけがサポートされているようです。
質問:これらの2回失敗して 誰もがおよそ215,000頂点と215,000エッジにPythonとnetworkxを使用して、私の大規模なグラフを視覚化する方法を私を見ることができますか?私はGraphvizのように中間形式に出力しなければならないと考えています(これは難しくありませんが、組み込み関数ほど簡単ではありません)。中間形式を読み込んで視覚化。
だから、私は、次のを探しています:中間フォーマットを読み、大きなを可視化する新しいパッケージ/ソフトウェア/ツール(理想のpython-インタラクティブ)で中間形式
- 出力グラフグラフ
さらに詳しい情報が必要な場合は、私に知らせてください!
この大きなグラフのPostScriptイメージの作成に成功したとします。あなたはそれで何をしますか?各ノードを調べるのに10秒を費やしたとします。グラフ全体を調べるのにおよそ25日間かかります。関心のあるサブグラフを「ズームイン」するには何かの方法が必要です(1つのPostScriptイメージとして)全体を表示するのではなく、私のように思えます。 – unutbu
私のグラフがどのように見えるかを知りたい。私は考えを持っているので、サブグラフ、クリーク、コミュニティに焦点を当てます。 – CodeKingPlusPlus