0
0

More than 3 years have passed since last update.

NetworkXのエッジに長さなどの情報を設定する

Posted at

はじめに

NetworkXで、辺の繋がりだけでなく、辺の重みや特殊なプロパティを設定したい。

対処法

import networkx as nx
import random

# 適当に生成
G = nx.random_tree(10)

# Gのエッジ集合を取り出す
for (u, v) in G.edges():
    G.edges[(u, v)]['weight'] = random.randint(3, 10)

NetworkXの各辺(u,v)(タプル)は

G.edges[(u, v)]

で取り出すことができます。つまり、タプルをキーとする辞書になっています。

この辺G.edges[(u,v)]は辞書となっているため
weightをキーとして、そこに重さを入れればいいです。

他にも
love, longなど入れようと思えば入れることができます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0