問題タブ [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.
python - How to compare two GraphView in graph-tool?
I need to process a lot of sub-graphs of given graph G. Using for that purpose graph-tool seems to be nice approach with utilizing its functionality of GraphViews and edge/vertex filtering functionality. To save time I would like to cache information about already processed sub-graphs. I thought that the fastest way would be compare vertex and edge filters. Such operation would be quite fast but... It seems that we can end up with the same sub-graph with different filters.
For example initial graph looks like:
After running such code:
We will have filters like:
After a little bit different filtering:
Filters will look like this:
Both created sub-graphs look like this:
Running algorithm on quite large graphs may filter out edges/vertices in different order and it may lead to have same sub-graphs but with different filter setup. Is there any nice method of doing comparison of such views? (Hopefully done by C++ layer of graph-tool)
python-2.7 - graph-tools BFS 検索の高速化
ubuntuシステムでgraph-tools BFS検索をセットアップしようとしました。バグのため、 のgraph_tools.bfs_search()
代わりにを使用せざるを得なくなりgraph_tools.bfs_iterator
ました。
から継承する例で述べたように、最小限のクラスを設定しましたgraph_tools.BFSVisitor
。
(num_nodes, num_actions)
これの目的は、グラフ内の特定のノードから到達可能なすべてのエッジ ソース ノードとエッジ アクション値のペアを追跡し、それらを numpy 配列に格納して、配列が次の次元を持つようにすることですnum_actions
。グラフの出次数。
関数はその役割を果たしますが、エッジ アクションを取得するためにグラフのエッジ PropertyMapself.edge_action[edge]
にアクセスすることは大きなボトルネックであり、コードの速度が大幅に低下します。しかし、そもそもグラフツールを速度のためだけに使用しようとしたので、今は少し行き詰まっています。
グラフツールライブラリについて何か不足していますか、それともこれを高速化する方法はありませんか? それ以外の場合は、networkx に戻って、そこで最速の方法を見つけようとすることもできます。グラフ ツールの C++ パワーを使用するために、この pythonic ループを使用してエッジ アクションにアクセスすることを避ける方法は考えられません。
ここで私の単純なクラス:
python - グラフツールのネストされたブロックモデルに関する基本的な質問
簡単に言えば、 のminimize_nested_blockmodel_dl
関数に関する 2 ~ 3 の基本的な質問graph-tool library
です。どの頂点がどのブロックに落ちるかを把握する方法はありますか? つまり、各ブロックから頂点のラベルを含むリストを抽出します。
階層的な視覚化は、ネットワーク理論のアマチュアにとって理解するのはかなり困難です。たとえば、描かれた有向エッジを持つ正方形は、考慮中の 2 つのブロック間の下にあるエッジの主な方向を暗示するためのものですか? ブロックはさまざまな色を使用してうまく表示されていますが、非常に概念的なレベルで、頂点のブロック分類の背後にあるパターンまたはエッジ/頂点プロパティのタイプはどれですか? つまり、2 つの頂点が同じブロックにある場合、それらの共通のプロパティについて何が言えるでしょうか?
python - ImportError: libboost_iostreams.so.1.61.0: 共有オブジェクト ファイルを開けません: そのようなファイルやディレクトリはありません
私はメインのpythonディストリビューションとしてAnacondaを使用しています(システムのデフォルトのpythonもインストールされています)ので、ソースからgraph-toolをコンパイルしてAnacondaで動作させる必要があります。
私はUbuntu 14.04を使用しているため、ブーストコルーチンライブラリは現在静的ライブラリとしてのみコンパイルされているため、ソースからブーストをコンパイルしてグラフツールのすべての機能を使用できるようにする必要があります( https://bugs.launchpad.net/ ubuntu/+source/boost1.54/+bug/1529289 )。
私はそうしましたが、どちらもエラーメッセージなしでインストールされましたが、Pythonでgraph-toolをインポートするfrom graph_tool.all import *
と、エラーメッセージが表示されますImportError: libboost_iostreams.so.1.61.0: cannot open shared object file: No such file or directory
.
どうすればその問題を解決できますか/これは何が原因ですか?
python - プロットから関数に情報を渡す
グラフ ツールを使用して対話型シミュレーションを作成したいと考えています。私がやりたいことは、最初にグラフを視覚化し、後で実際のシミュレーションの入力としてノードを選択することです。プロットから関数に情報を渡すにはどうすればよいですか?
これまでに行ったこと - そのような情報を提供しないドキュメントと例を調べました。
ありがとう!
python - Pythonグラフツールで座標を介して頂点位置を指定する
座標を指定して、xy 軸上の特定の位置に頂点をプロットすることはできますか? それらの間にエッジのない頂点の正方形の格子が必要です(その後、適切と思われるエッジを後で追加します)。
ありがとう
python - Vertices と Edges のカテゴリ プロパティを使用してグラフ ツールで色を描画する方法は?
次のように生成されたgraph_tool.Graphがあります。
(かなり明らかな)値のエラーは次のとおりです。
カスタムカラーマップなどを設定してから、これらのプロパティ名を色にマップする必要はありません。カテゴリ値を色にマップする簡単な方法はありますか (たとえば、に似たものprop_to_size
)?
アップデート
残念ながら、単純なマップでさえ機能しません。私はこのようなことを試しました:
しかし、新しいエラーは次のとおりです。
したがって、以前の簡単な提案でさえ機能しません。