首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增加节点权重

增加节点权重
EN

Stack Overflow用户
提问于 2021-12-15 12:19:18
回答 1查看 143关注 0票数 3

我为节点的权重定义了字典:

代码语言:javascript
复制
  dict_exports={}

for index,x in myDataTrade.iterrows():
        dict_exports.setdefault(x['from'],0.)
        dict_exports[x['from']]+=float(x['VAL'])
代码语言:javascript
复制
def plot_sub_graph_trade(COUNTRY,FILTER,dict_exports,myDataTrade,FILTER_YEAR,FILTER_TYPE):

    myDataTradeSWE = myDataTrade[(myDataTrade['from']==COUNTRY) & (myDataTrade['VAL']>FILTER) & (myDataTrade['Year']==FILTER_YEAR) & (myDataTrade['type']==FILTER_TYPE)]

    G=nx.Graph() 

    
    for index,x in myDataTradeSWE.iterrows():
        G.add_edge(x['from'],x['to'],w=x['VAL'])

    color_code=[]  
    for i in G.edges():
        color_code.append(G[i[0]][i[1]]['w'])  

    nodes_label={}
    n_size=[]
    for i in G.nodes():
        nodes_label[i]=str(i)
        n_size.append(dict_exports[i]/1000000.) 

    plt.figure(1,figsize=(8,8)) 
    plt.title('High Tech Trade Network of '+COUNTRY+' in '+str(FILTER_YEAR))
    nx.draw(G, pos=nx.kamada_kawai_layout(G),alpha=0.9,
            node_size=500,width=4,edge_cmap=plt.cm.Purples,edge_color=color_code,
            node_color='#A0CBE2',labels=nodes_label,font_size=11,font_color='Black')
代码语言:javascript
复制
COUNTRY='SWE'
FILTER=250000
FILTER_YEAR=2016
FILTER_TYPE= 'High_Tech'
plot_sub_graph_trade(COUNTRY,FILTER,dict_exports,myDataTrade,FILTER_YEAR,FILTER_TYPE)

代码返回网络图,但不集成字典,因此权重不会影响节点。我不确定我是不是漏掉了一个错误?请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-15 14:02:35

在调用nx.draw时,仍然有固定的节点大小。我想你想要

代码语言:javascript
复制
nx.draw(G, pos=nx.kamada_kawai_layout(G), alpha=0.9,
        node_size=n_size, 
        width=4, edge_cmap=plt.cm.Purples, edge_color=color_code,
        node_color='#A0CBE2', labels=nodes_label, font_size=11, font_color='Black')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70363580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档