接收Networkx color_map上的关键错误

时间:2018-11-20 17:01:12

标签: networkx colormap

我无法让color_map与networkx图形一起使用。它只是简单的代码,但似乎无法正常工作。我浏览了其他类似的主题,但似乎没有解决方案。

我有如下数据:

edgelist_manual = [{'source': 'ABE', 'target': 'ATL', 'value': 851},
     {'source': 'ABE',  'target': 'BHM', 'value': 1},
     {'source': 'ABE',  'target': 'CLE',  'value': 805}]

edgelist = pd.DataFrame(edgelist_manual)

nodelist_manual = [{'source': 'ABE', 'value': '4807', 'group': 0},
     {'source': 'ABI',  'value': '2660', 'group': 4},
     {'source': 'ABQ',  'value': '41146',  'group': 2}]

nodelist = pd.DataFrame(nodelist_manual)

我运行下面的代码,但是我的color_map一直在搞砸。我只是在“组”参考上遇到一个关键错误。

import itertools
import copy
import networkx as nx
import pandas as pd
import matplotlib.pyplot as plt

nodelist = pd.read_csv('final_nodes.csv')
edgelist = pd.read_csv('final_edges.csv')

g = nx.Graph()

for i, elrow in edgelist.iterrows():
    g.add_edge(elrow[0], elrow[1], attr_dict=elrow[2:].to_dict())
for i, nlrow in nodelist.iterrows():
    g.node[nlrow['source']].update(nlrow[1:].to_dict())

color_map = {0: 'r', 1:'b', 2:'r', 3:'b', 4:'r', 5:'b'}
colors = [color_map[g.node[node]['group']] for node in g]

nx.draw(g, node_color=colors)
ax = plt.gca()
ax.collections[0].set_edgecolor("#555555") 
plt.show()

与此代码和我的代码唯一的区别是,不是从手动创建数据,而是从.csv加载数据。我已经检查了功能标签上的尾随空格,但一无所获。我不太了解索引,因此我想知道这些索引是否搞砸了。有什么想法吗?

谢谢!

0 个答案:

没有答案