0
grid_2d_graphのノードのラベルをnx.convert_node_labels_to_integers
で変更しています。ラベルを変更する前と同じ場所にノードを残しておきます。明らかに、私はpos
をノードラベルを変換したのと同じ方法で変換しなければならず、pos
を引数としてnx.draw()
に与えなければなりません。しかし、私はこれを簡単に行う方法を理解することはできません。手伝って頂けますか?grid_2d_graphネットワークノードでノードラベルを変更してposを変更する
は、ここでは、ノードの属性として位置を保存することができ、彼らが再ラベリングを通じて持続します私のコード
import networkx as nx
import matplotlib.pyplot as plt
start = 0
end = 7
G = nx.grid_2d_graph(3,3)
pos = dict(zip(G,G)) # dictionary of node names->positions
G = nx.convert_node_labels_to_integers(G, ordering = 'sorted')
node_colors = ["lightblue" if n == start or n == end else "white" for n in G.nodes()]
edge_colors = ["blue" if n == (1, 2) else "gray" for n in G.edges()]
nx.draw(G, with_labels=True, edge_color = edge_colors, node_color = node_colors, width = 3)