[NetworkX]グラフのノード(エッジ無しだけ)が反映されないバグ
[NetworkX]グラフのノード(エッジ無しだけ)が反映されないバグ
python3.9,networkxも最新の環境です。
例)
anaconda環境でnetworkxのパッケージを用いてgraph edit distanceを作動させています。
その中でグラフのノード(エッジ無しだけ)が反映されないバグが発生しました。
解決方法を教えて下さい。
発生している問題・エラー
import numpy as np
import networkx as nx
import scipy as sp
import matplotlib.pyplot as plt
G1 = nx.Graph()
G1.add_nodes_from([(A, {"label":"A"}),
("B", {"label":"B"}),
("C", {"label":"C"}),
("D", {"label":"D"}),
("E", {"label":"E"}),
("L", {"label":"L"}),
("K", {"label":"K"})])
G1.add_edges_from([("A","C"), ("A", "D"),
("K", "E"), ("D", "A"),
("A", "B"), ("C", "D")])
print(G1.nodes())
print(G1.edges())
nx.draw(G1,
node_color="lightgreen",
edge_color="lightgreen",
node_size=500,
width=8,
alpha=0.5,
with_labels=True)
nx.nx_agraph.view_pygraphviz(G1, prog='fdp')
G2 = nx.Graph()
G2.add_nodes_from([("A", {"label":"A"}),
("B", {"label":"B"}),
("D", {"label":"D"}),
("E", {"label":"E"}),
("F", {"label":"F"}),
("Q", {"label":"Q"}),
("J", {"label":"J"}),
("X", {"label":"X"})])
G2.add_edges_from([("A","B"), ("Q", "D"),
("J","F"), ("A", "E"),
("D", "F"), ("X","A")])
print(G2.nodes())
print(G2.edges())
nx.draw(G2,
node_color="lightblue",
edge_color="lightblue",
node_size=500,
width=8,
alpha=0.5,
with_labels=True)
nx.nx_agraph.view_pygraphviz(G2, prog='fdp')
G12 = nx.compose(G1,G2)
print("G1 count:", len(G1))
print("G2 count:", len(G2))
print("G1・G2 compose:", len(G12))
print(G12.nodes())
問題は図2の頂点Lが反映されないことです。
ノードがないことも関係するかもしれませんが、図1と図2の集合の頂点は1つ少なく出力されてしまいます。
また頂点名を変えたい為、一部参照サイトから変更しました。
変更する前はうまくいったのですが、なぜこのような状況になるのかがわかりません。
自分で試したこと
IをLに変えたり、表記を変えた。