python networkx モジュールには、2 つのネットワーク マップをマージするためのメソッド nx.union があります。
C = nx.union(G,H)
ここで、G と H はネットワーク マップであり、C は結合されたバージョンです。すべてのノードを番号で検索し、同じ番号のノードをマージします。
GEXF 形式で保存されたノードの例:
<node id="0" label="walking">
<ns0:color b="200" g="11" r="11" />
<attvalues>
<attvalue for="0" value="2" />
<attvalue for="1" value="26" />
</attvalues>
</node>
私のマップには任意のノード番号がありますが、各ノード属性には一意のラベルがあるため、これは私にとって問題です。ノード番号を割り当てるとき、リストを調べてリスト インデックスをノード番号として使用するだけですが、map1 の位置 84 に「ウォーキング」があり、map2 の位置 157 に「ウォーキング」がある可能性があるため、ノード番号は簡単ではありません。ノード ラベルに関連付けます。
networkx を使用してネットワーク マップに結合し、ノード ラベル名で一致を指定する方法を知っている人はいますか?
おそらく独自のメソッドを作成する必要がありますが、何かが欠けていないことを確認したかっただけです。union_disjoint() がありますが、同じファイルに 2 つの別々の接続されていないマップが作成されるようで、役に立ちません。
また、2 つ目の networkx の質問: GEXF ファイル形式でノード ラベルのサイズとラベルの色を指定する方法はありますか? GEXF v1.2 ドラフト仕様には記載されていません。