問題タブ [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 - グラフツールの頂点座標
グラフツールでグラフの頂点の座標を効率よく指定したい。
次のような csv があるとします。
...
グラフツールで頂点 1 を位置 (2.5,3.8) などにプロットしたい...
非効率的な解決策が : Explicit vertex position in python graph-toolに示されているため、基本的にすべての座標に対して for ループを使用して、それらをプロパティ マップ 'pos' に保存できます。グラフが「g」で、csv がデータフレームの「座標」で pandas を使用して読み取られる場合、次のことができます。
問題は、私のノード数 numnodes が大きい (~10^7) ことで、これには時間がかかることがあります。
プロパティ マップ 'pos' にデータを直接入力して、この操作を行うより効率的な方法はありますか?
python - 指定された値を無視したnumpy配列の平均
平均を計算したいネットワーク内の特定のノードと他のすべてのノードとの間のパス長を含む、多数の 1 次元の numpy ndarray があります。ただし、2 つのノード間にパスが存在しない場合、アルゴリズムはその特定の接続に対して 2147483647 の値を返すため、問題は複雑です。この値をそのままにしておくと、ネットワーク内の典型的なパスの長さが 1 ~ 3 になるため、明らかに平均が大幅に膨らみます。
これに対処する 1 つのオプションは、すべての配列のすべての要素をループして置き換え2147483647
、平均を見つけるためNaN
に使用numpy.nanmean
することですが、これはおそらく最も効率的な方法ではありません。のすべての値を無視するだけで平均を計算する方法はあり2147483647
ますか?
追加する必要があるのは、平均化する数百万の値を持つ最大数百万の配列を持つことができるため、平均を見つける方法でパフォーマンスが向上すると、実際の違いが生じることです。
python - 辞書からグラフ ツール グラフを作成する
私は少しの間 networkx を使用してきましたが、辞書から直接 Graph オブジェクトを作成できるのは本当に素晴らしいですnx.Graph(my_dictionary)
。現在、グラフツールを使用しようとしていますが、同じことができないことに気付きました。
グーグルで検索しているときに、networkx グラフからグラフ ツール グラフを作成する方法を示すこのブログ投稿に出くわしました。ただし、このプロセスは非常に複雑であり、graph-tool を使用するたびに自作の関数とnetworkxの両方に依存したくありません。
辞書を反復処理する関数を作成するのと同じくらい簡単だと思います。しかし、それを始める前に、dict-to-graph-tool パーサーを誰も書いていないことを確認したかったのです。当然のことのように思えますが、グラフツールのドキュメントにはまったく何も見つかりません....
python-3.x - グラフツールでグラフの平均パス長を効率的に計算するにはどうすればよいですか?
私は 10000 個の頂点のオーダーのネットワークを扱っており、それらを分析するためにグラフ ツールを使用しています。これらのグラフのそれぞれについて計算したいことの 1 つは、グラフ内のすべてのノードのペアにわたる最短距離の平均として定義される平均パスの長さです。だから私はこれを試しました:
しかし、これには永遠の時間がかかります。タスクを達成するためのより良い方法はありますか? 前もって感謝します。
python - 特定のノードに接続されたすべてのエッジのエッジ プロパティの最小値を見つける
各エッジに日付のラベルが付けられたネットワークがあります。また、頂点にラベルを付けて、各頂点に、そこから発生するすべてのエッジの最小日付に対応する日付が割り当てられるようにします。これを見つけるための組み込み関数はありますか?これは、すべての頂点をループし、次に各頂点のすべてのエッジを手動でループするよりも高速ですか? 言い換えれば、私は、エッジの特定のサブセットの特定のエッジ プロパティの最小値を見つける関数を求めています。
私の現在のコードのアイデアは次のとおりです。
python - ラベルが完全に見えるようにグラフ ツール スケール グラフを作成する
長いラベルが最後の図から切り取られるグラフツールでこの問題が発生しています。
私はgt.graph_draw()
プロットに使用しており、より良い結果を得るために引数を変更しようとしました。
- を増やしても
output_size
、グラフは引き伸ばされるだけなので、ラベルは切り取られたままです fit_view
すでにTrue
、それを変更して、Flase
すべてを台無しにしました
ラベルを短くしようとしましたが (しぶしぶ)、グラフが引き伸ばされて、一部が切り取られてしまいます。
私にできることはありますか?たぶん、これをmatplotlib側で整理できますか?