status
,current_node
或percentage
?以下是我使用的代码示例:
path = nx.shortest_path(G, source=u'1234', target=u'98765')
path_edges = zip(path, path[1:])
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,nodelist=path,node_color='r')
nx.draw_networkx_edges(G,pos,edgelist=path_edges,edge_color='r',width=10)
plt.axis('equal')
plt.savefig('prototype_map.png', dpi=1000)
plt.show()
答案 0 :(得分:2)
我认为唯一的方法就是容纳绘图功能的源代码来打印10%,20%完成的东西....但当我检查source code of draw_networkx_nodes & draw_networkx时,我意识到它是由于draw函数将位置(节点和边缘)存储在numpy数组中,因此将其发送到matplotlib (sourcecode)的ax.scatter函数,这是一个很难操作而不会弄乱的东西。我唯一能想到的就是改变:
xy = numpy.asarray([pos[v] for v in nodelist]) # In draw_networkx_nodes function
要
xy = []
count = 0
for v in nodelist:
xy.append(pos[v])
count +=1
if (count == len(nodelist)):
print '50% of nodes completed'
print '100% of nodes completed'
xy = numpy.asarray(xy)
类似地,当调用draw_network_edges时,指示边绘图的进度。我不确定这会有多远,因为我不知道ax.scatter函数花了多少时间。我也查看了分散函数的源代码,但我无法指出循环或某些东西来打印已经完成某些进展的指示。