私は、Pythonのネットワーク解析にNetworkXを使用しています。私は、すべてのエッジの重みを決定し、次のようにグラフにそのエッジを追加します。コンテキストの場合ネットワークxのエッジをその重みに基づいてソートする方法
import matplotlib.pyplot as plt
import networkx as nx
import numpy as np
airports = ['ATL','LAX','ORD']
weights = [500,200,150] #Note that in my real code I I calculated these weights, they are not provided
G = nx.Graph()
G.add_nodes_from(airports)
weightlst = []
airports_pos = []
checked_airports = []
i = 0
for airport1 in airports:
for airport2 in airports:
if airport1 != airport2 and checked_airports.count([airport1,airport2])==0 and checked_airports.count([airport2,airport1])==0:
weightedge = weights[i]
weightlst.append(weightedge)
weightedge = weightedge*0.0020+0.5
G.add_edge(airport1, airport2, weight=weightedge)
checked_airports.append([airport1,airport2])
i = i + 1
、各エッジの重みは、2つの空港の間に発生するどのように多くの便を示していると私の問題は、それがあるということです無関係なエッジが関連するものの上に描画されるため、どのルートが「最も忙しい」かは不明です。最終的に最高のウェイトを持つエッジを描画し、ネットワーク内の「最も混雑しているフライトルート」を明確にしたいと思います。
なぜエッジを追加する順序を変更したいのですか?あなたのグラフがノードのペアごとに複数のエッジを持つことができるようにしますか? –
私は30のノードと435のエッジからなるネットワークを持っています。このネットワークを適切な方法で視覚化できるようにするには、より重いエッジをエッジの上に描画して、より小さなウェイトで描画するようにします(カラーグラデーションを使用します。重みが高いほど、エッジの色が濃くなります)。 –