我为节点的权重定义了字典:
dict_exports={}
for index,x in myDataTrade.iterrows():
dict_exports.setdefault(x['from'],0.)
dict_exports[x['from']]+=float(x['VAL'])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')COUNTRY='SWE'
FILTER=250000
FILTER_YEAR=2016
FILTER_TYPE= 'High_Tech'
plot_sub_graph_trade(COUNTRY,FILTER,dict_exports,myDataTrade,FILTER_YEAR,FILTER_TYPE)代码返回网络图,但不集成字典,因此权重不会影响节点。我不确定我是不是漏掉了一个错误?请帮帮忙。
发布于 2021-12-15 14:02:35
在调用nx.draw时,仍然有固定的节点大小。我想你想要
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')https://stackoverflow.com/questions/70363580
复制相似问题