問題タブ [graph-tool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1707 参照

python - グラフ ツール: ユーザー定義のラベルで頂点を検索

これまで、すべてのネットワーク グラフ アプリケーションに networkx を使用してきました。ただし、この新しいプロジェクトでは、グラフに 10^8 ノードのグラフが必要であり、networkx はこの数のノードを処理するように構築されていませんでした (非常に遅くなります) 。

グラフ ツールを使用して、グラフの各頂点にユーザー定義の体系的なラベルを付けたいと思います。インデックスではなくラベルで検索できるようにします。ドキュメントを調べてみましたが、これに対するサポートはないようです。プロパティ マップは vertex_indices -> 値からマップしますが、その逆が必要です。

私が見逃しているこれに対する実際のサポートはありますか? それ以外の場合は、python 辞書を作成し、ラベルをそのように vertex_indices にマップするのが最善の方法ですか?

0 投票する
1 に答える
438 参照

python - グラフ ツールの fit_view と出力サイズ

描画に使用する基本的なスクリプトは次のとおりです。

ここでの主な問題は、醜いエッジ テキストと頂点が親に近すぎることです。私が理解しているように、これはデフォルトfit_view=Trueで結果の画像がサイズに合わせてスケーリングされるために発生します。結果画像を設定するとfit_view=False、グラフが表示されません(小さな部分しか見えません)。

多分私はfit_view=Falseいくつかの追加のステップのために別の出力サイズが必要ですか?

0 投票する
2 に答える
2339 参照

macos - 「Gtk モジュールのインポート中にエラーが発生しました: リポジトリという名前のモジュールがありません」 (graph_tool を使用)

こんにちは、スタック コミュニティです。

私の質問がグラフ ツール関連なのか gtk 関連なのかはわかりませんが、両方かもしれません。さらに、それを解決しようとしているときに私がしたことがばかげている場合は申し訳ありません.

問題は次のとおりです。I の後brew install graph-tool、python を起動しimport graph_tool.allて次のエラーが表示されます。

import pygtk; pygtk.require('2.0'); import gtk以前は、動作する場合、それはエラーがグラフツールの問題であることを意味すると確信していましたが、グラフツールは gtk (3??) と GObject (右?) と上部を使用する可能性があるため、そうである必要はありません。 gtk2 と pygtk をチェックします (この質問は私をこの考えに導きました)。gtk、GObject、およびすべての依存関係を再インストールしてみました。すべてのbrew関連とbrew自体を消去してから、すべてを再インストールします(ここのように)。それでも同じエラーが表示されます。また、念のためにbrewからすべてのリンクを解除して再度リンクしようとしましたが、これでも何も変わりません。

他に何をチェックしましたか:

MAC OS X バージョン 10.10.3、homebrew-installed python 2.7.10 を実行しています ( brew によってインストールされたものをpython --version返しますPython 2.7.10;which pythonを指します/usr/local/bin/python)。brew info graph-toolそれのすべての要件がそこにあることを示しています(オプションのものも含む)。GTK 2.24.28、GTK+3 3.16.4、PyGobject 2.28.6、GObject-introspection 2.28.6、Cairo 1.14.2、Py2Cairo 1.10.0、pango 1.36.8、XQuartz 2.7.7 などがインストールされ、それらの依存関係がありますも大丈夫です。gi 1.2が(pip経由で)インストールされていますが、gi.repositoryは実際にはありません。この質問は承知していますが、PyGObjects がインストールされています。

この質問と返信も読みましたが、判断できる限り、これで問題が解決するものはありません。

解決策を探すのに 2 日間費やしました。

0 投票する
2 に答える
2904 参照

python - python グラフ ツール ロード csv ファイル

Pythonのグラフツールグラフに、csvファイルから有向加重グラフをロードしています。入力 csv ファイルの編成は次のとおりです。

1,2,300

2,4,432

3,89,1.24

...

行の最初の 2 つのエントリはエッジのソースとターゲットを識別し、3 番目の数字はエッジの重みです。

現在私は使用しています:

ただし、データのロードにはかなり時間がかかります (1,000 万ノードのネットワークがあり、約 45 分かかります)。g.add_edge_list を使用して高速化を試みましたが、これは重み付けされていないグラフでのみ機能します。それをより速くする方法はありますか?

0 投票する
1 に答える
42 参照

python - グラフツール 2.2.44 使用中に描画キャンバスのサイズを変更できない

Mac で Graph-Tool 2.2.44 を使用して、関数 graph_tool.draw.graph_draw() を次のように使用してネットワークを視覚化しようとしています。

視覚化ウィンドウが表示されます。ただし、パラメーター output_size をどのように変更しても、描画キャンバスの実際のサイズは同じままです (デフォルトのサイズは 600*600 のようです)。これは、大きなグラフを視覚化するときに本当に気になります。

誰もこれについて何か知っていますか?

どうもありがとう!

0 投票する
3 に答える
1486 参照

python - Python 3.4 を使用して OSX 上にグラフツールを構築する

自作を使用して Mac OSX 10.10 にグラフツールをインストールしようとしました。brew ビルド プロセスは問題なく動作しますが、graph-tool をインポートしようとすると、この質問で説明されているエラーが発生します。自作のもう 1 つの問題は、私が常に python2.7 用のグラフ ツールをビルドし、Python 2.7 の sit-packages フォルダーにパッケージをインストールすることです。しかし、Python 3.4 で使用したいと考えています。これらが、ソースからグラフ ツールをビルドしようとした理由です。

この./configureコマンドは、Python 2.7 も自動的に使用します。だから私はそれを目的のPythonバージョンに渡しました./configure PYTHON=python3.4

次に、正しいバージョンと関連するパスを検出しますが、次のエラーでクラッシュします。

configure: エラー:
テスト プログラムを Python にリンクできませんでした。メインの Python ライブラリが非標準のライブラリ パスにインストールされている可能性があります。その場合は、LDFLAGS 環境変数を介して configure に渡します。
例: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"

================================================== ==================== エラー! おそらく、ディストリビューション用の Python パッケージの開発バージョンをインストールする必要があります。このパッケージの正確な名前は、パッケージによって異なります。

================================================== ====================

エラーは、PYTHON変数が設定されている場合と設定されていない場合に発生します。の出力から./configure、最後の行を除いてすべてが正常に機能していることがわかります。

Python開発環境のすべてのコンポーネントの一貫性をチェックしています...いいえ

上記の行は何を意味し、マシンにグラフツールを適切にインストールするにはどうすればよいですか?