我试图用networkx来可视化节点网络中的社区,代码在检测社区方面工作得很好,但是它是灰色的。当cmap参数与nodelist和node_color参数一起使用时,我无法使cmap参数对输出网络产生任何影响。在
电流输出:https://i.imgur.com/0uf2DEt.png
import networkx as nx
import matplotlib.pyplot as plt
import community
g=nx.read_edgelist('communities.txt',create_using=nx.Graph(),nodetype=int)
partition = community.best_partition(g)
print nx.info(g)
size = float(len(set(partition.values())))
print "Communities: " + str(size)
sp=nx.spring_layout(g)
plt.axis('off')
count = 0
for group in set(partition.values()) :
count += 1
list_nodes = [nodes for nodes in partition.keys() if partition[nodes] == group]
nx.draw_networkx_nodes(g, pos=sp,
nodelist=list_nodes,
with_labels=False,
node_size=30,
node_color = str(count/size),
cmap=plt.get_cmap('RdYlBu'))
nx.draw_networkx_edges(g, sp, alpha=0.3)
plt.show(g)
要使
cmap
选项工作,node_color
必须是浮点数的列表,而不是字符串。另外,必须提供vmin
和vmax
选项。使用cmap
和vmin
和vmax
参数将数值映射到颜色。(请参见help(nx.draw_networkx_nodes)
。)相关问题 更多 >
编程相关推荐