0
所以我有以下函数来绘制一个问题即时通讯工作。它基本上是一个关键的节点检测问题或阻塞。我有一些值x,并决定攻击节点z。基本上我想用正在处理/攻击的活动和不活动节点和节点为我的图表着色。这是我到目前为止。图例为networkx绘图功能
DEF draw_solution(克,zsolution,xsolution,T,XMIN = 0,文件名= '检验.pdf'):
# draw solution
pos = {n: ndata['coord'] for n,ndata in g.nodes_iter(data=True)}
ncolour=[]
for n,ndata in g.nodes_iter(data=True):
if ndata['fuel_load'] < xmin:
ncolour.append('gold')
else:
ncolour.append('yellowgreen')
pp = PdfPages(filename)
fig = plt.figure(figsize=(11.7,8.3))
fig.suptitle('full graph and initial fuel load')
plt.axis('off')
nx.draw_networkx(g, pos, font_size=9, node_color=ncolour)
fig.savefig(pp, format='pdf')
fig.clf()
for t in range(T):
g_copy = g.copy()
#node colour
ncolour=[]
for i in g.nodes_iter():
if zsolution[i,t] > 0.99:
ncolour.append('lightcoral')
#g_copy.remove_edges_from(g.edges(i))
elif xsolution[i,t] < xmin:
ncolour.append('gold')
g_copy.remove_edges_from(g.edges(i))
else:
ncolour.append('yellowgreen')
plt.axis('off')
fig.suptitle('t={}, before treatment'.format(t))
nx.draw_networkx(g_copy, pos, font_size=9, node_color=ncolour, label=ncolour)
fig.savefig(pp, format='pdf')
fig.clf()
g_copy = g.copy()
#node colour
ncolour=[]
for i in g.nodes_iter():
if zsolution[i,t] > 0.99:
ncolour.append('lightcoral')
g_copy.remove_edges_from(g.edges(i))
elif xsolution[i,t] < xmin:
ncolour.append('gold')
g_copy.remove_edges_from(g.edges(i))
else:
ncolour.append('yellowgreen')
plt.axis('off')
fig.suptitle('t={}, after treatment'.format(t))
nx.draw_networkx(g_copy, pos, font_size=9, node_color=ncolour, label=ncolour)
fig.savefig(pp, format='pdf')
fig.clf()
pp.close()
fig.clf()
出于某种原因,我不能得到图例正确?
请帮忙!谢谢!
你想发生什么事情没有发生? - “传说”是什么意思? – Joel
我想要一个对应于颜色的图例。所以我想要像 lightcoral - 攻击 黄金 - 活跃 yellowgreen - 无效 –