python draw函数_networkx draw函数的图例

所以我有下面的函数来画一个我正在处理的问题。它基本上是一个关键节点检测问题或阻断。我有一些值x,并决定攻击节点z。基本上我想用活动和非活动节点以及正在处理/攻击的节点来着色我的图。这是我到目前为止的情况。在

def draw_solution(g,zsolution,xsolution,T,xmin=0,filename='测试.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()

因为某些原因我不能正确地理解传说?在

请帮忙!谢谢!在

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值