def DrawPath(G, source, dest): pos = nx.spring_layout(G) val_map = {} val_map[source] = 'green' val_map[dest] = 'red' values = [val_map.get(node, 'blue') for node in G.nodes()] nx.draw(G, pos, with_labels = True, node_color = values, edge_color = 'b' ,width = 1, alpha = 0.7) #with_labels=true is to show the node number in the output graph edge_labels = dict([((u, v,), d['length']) for u, v, d in G.edges(data = True)]) nx.draw_networkx_edge_labels(G, pos, edge_labels = edge_labels, label_pos = 0.5, font_size = 11) #prints weight on all the edges return pos #main function if __name__ == "__main__": G, source,dest = CreateGraph() heuristics = getHeuristics(G) pos = DrawPath(G, source, dest) greedyBFS(G, source, dest, heuristics, pos) plt.show()